吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 9450|回复: 55
收起左侧

[Android 原创] Android修改DLL大量货币---001

  [复制链接]
什么都只会一点 发表于 2019-3-27 23:16
本帖最后由 什么都只会一点 于 2019-4-5 22:31 编辑

游戏实战教程
通过游戏实战来更好的学习DLL修改
第一个是比较简单的大量货币修改方法,纯新手教程,大佬勿喷~


【示例游戏】
链接:https://pan.baidu.com/s/1b9PLcDhmnfC87WjSCik7QQ
提取码:7oav


【所需工具】dnSpy(爱盘里面有下载)


【课前准备】
(这段是百度百科,可以不看)
DLL文件中存放的是各类程序的函数(子过程)实现过程,当程序需要调用函数时需要先载入DLL,然后取得函数的地址,最后进行调用。
使用DLL文件的好处是程序不需要在运行之初加载所有代码,只有在程序需要某个函数的时候才从DLL中取出。
另外,使用DLL文件还可以减小程序的体积。


我的理解是:DLL文件可以看成一个集成了很多方法函数的文件(类似方法调用)


【试用范围】
现在很多国外游戏都是使用DLL来封装方法的,电脑很多软件的DLL文件也是可以改的


【开始操作】
先进入游戏看下,如下图
1.jpg
可以看到游戏初始货币为500,而且可以看到【Add Funds】,注意一下
将APK拖进AndroidKiller,反编译完成后打开assets/bin/Managered,打开文件路径,如下图所示
2.jpg
将文件拖到桌面上(个人习惯)
3.jpg
打开dnSpy,选择文件-打开,如下图(你们打开的界面布局可能跟我的不一样,我自己调整过)
4.png
打开桌面上的Managered文件夹,将文件夹里面的所有DLL文件全选,点击打开
5.png
还记得开始要你们注意的【Add Funds】,在搜索输入框输入"funds",我们可以看到如下图的两个方法"get_Funds"
6.png
这里说明一下,游戏在减少或者增加货币的时候,一般会先获取到当前货币的值"get_Funds"中文翻译就是获取货币
这里有两个,不知道哪一个才是真正的获取货币,所以直接两个都改掉,双击第一个"get_Funds",页面如下图所示
7.png
单击一下get大括号里面,右键,选择编辑方法,如下图所示
8.png
9.png
我们可以看到这里的"get_Funds"里面直接return this.funds/29;
也就是直接返回一个值


【修改思路】
让它里面直接返回一个固定值,然后不管游戏获取这个货币都是固定值


修改如下图
10.png
点击编译
11.png
同样的操作,修改下面的"get_Funds"
12.png
修改完毕,点击全部保存按钮,如下图
13.png
14.png
将修改完后的Managered文件夹重新覆盖掉原本的文件夹,编译,签名
15.jpg
进入游戏看下,修改成功
16.jpg


【总结】游戏里面的货币一般都是固定的方法名get_xxx


下面文件是DLL修改时常用的关键词
链接:https://pan.baidu.com/s/1WOedhFDMdJq6cnvPGDriaA
提取码:3lx7


【作业】
同样是这个游戏,将货币下面的Fires也修改成大量


欢迎在下方评论,不懂的也可以问,看到会回复的


-----------------------------------------------------------------------------------

Android修改DLL大量货币(二)---002
https://www.52pojie.cn/thread-921749-1-1.html

免费评分

参与人数 18吾爱币 +21 热心值 +18 收起 理由
sgyw + 1 + 1 不错!能够多出点dll修改教程吗
heqz + 1 + 1 谢谢@Thanks!
qtfreet00 + 6 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
mayuyus + 1 + 1 热心回复!
今生缘丶 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
朔辰 + 1 + 1 热心回复!
Mu-2019 + 1 + 1 我很赞同!
耳食之辈 + 1 谢谢@Thanks!
sureselsun + 1 + 1 我很赞同!
骑猪兜风098 + 1 + 1 用心讨论,共获提升!
zhu639 + 1 + 1 用心讨论,共获提升!
Y-one + 1 + 1 用心讨论,共获提升!
ohgami_lxy + 1 + 1 用心讨论,共获提升!
Nemoris丶 + 1 + 1 我很赞同!
独行风云 + 1 + 1 谢谢@Thanks!
Ouyang520 + 1 + 1 热心回复!
Zeno___Lee + 1 + 1 谢谢@Thanks!
lsrteam70 + 1 用心讨论,共获提升!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| 什么都只会一点 发表于 2019-3-28 10:40
丶那年如此年少o 发表于 2019-3-28 09:27
请教下,为什么看到assets/bin/Managered就要用dnSpy?而不先分析dex?
是因为游戏它的代码都会在Managere ...

并不是,主要是打开这里面的文件夹,看里面是否有dll文件,有些dll加密了,显示成dat文件,只能使用IDA静态调试修改。
lingbowen888 发表于 2019-3-28 08:00
此DLL是C#的类库,现在一部分unity3d的游戏是基于这个开发的= =
和C的DLL动态链接库是两回事额。。
天使3号 发表于 2019-3-27 23:44
安卓原来也能调用DLL,我还一直dll以为是微软亲儿子呢
fc1314 发表于 2019-3-28 00:08
这个很6
 楼主| 什么都只会一点 发表于 2019-3-28 00:13
天使3号 发表于 2019-3-27 23:44
安卓原来也能调用DLL,我还一直dll以为是微软亲儿子呢

dll是动态数据库,Java可以调用,安卓软件是Java编写的,可以调用很正常
yushangwl 发表于 2019-3-28 00:41
感谢楼主,学习啦
派大星ing 发表于 2019-3-28 01:30
奥术大师大所多
bachelor66 发表于 2019-3-28 04:01
原来可以这样啊                                                
zhczhczhcz 发表于 2019-3-28 08:19

感谢楼主
jim2611721 发表于 2019-3-28 09:07
感谢楼主
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 23:08

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表