2016-04-17 6,144 ℃
前言
虽然曾经在梅露可弃坑后说了再也不碰乐元素的游戏,不过现在我反悔啦~
解密DLL
先查看Assembly-CSharp.dll,发现连“MZ”的开头都没了,看来是加密过了,只好上IDA,依旧是libmono.so的mono_image_open_from_data_with_name,结果发现SO也加壳了,嘛,意料之中。
那就上动态调试了,这次没兴趣去研究so的壳,加密DLL的算法也没一下子就看出来密钥和使用的算法,就懒得再去研究了,于是只dump出DLL,反正能修改就行了嘛
这里简单贴下步奏(其实这种东西随便百度一下到处都是吧
1. 修改APK的AndroidManifest.xml,在<application后面加上android:debuggable=”true”,打包后安装
2. 把android_server发送到手机,在adb shell里用root权限启动
3. 端口转发
adb forward tcp:23946 tcp:23946
4. debug启动app
adb shell am start -D -n com.happyelements.kamuy01.he/com.happyelements.gsp.android.unity.MainActivity
5. 打开IDA,选择附加-remote Armlinux/andoid debugger,在选择进程中找到com.happyelements.kamuy01.he,并记下左边的PID
6. 端口转发
adb forward tcp:8700 jdwp:PID
7. IDA附加游戏进程,然后运行app
8.
jdb -connect com.sun.jdi.SocketAttach:hostname=127.0.0.1,port=8700
9. 等libmono.so加载后,ctrl+s查看libmono.so的基址,加上偏移0x001D18B4处下断点,原因如下图
运行到断点后,R1地址,R2长度,直接dump即可,那个sub_1D1708就是解密算法了,有兴趣可以进去看看
修改
dump出来的DLL也喜闻乐见的没混淆,那就直接修改了。。。
记忆中这种用碰撞器处理的游戏有非常简单的修改方法,不过试了几下没弄出来,只好用了看起来非常搓的方法,嘛,反正效果达到了就行
1. 无敌:
①
EnemySpecialHitExcutor
BulletHitExcutor
Hit函数里的“Player”字符串改成其他的东西
②
BeamHitExcutor
TriggerHit函数和TriggerExit里的“Player”字符串改成其他的东西
③
FighterHitExcutor
Hit函数里的“Enemy”字符串改成其他东西
④
Collider2DMotionBind
Hit函数开头改成永false
2.掉落拾取:
ScoreMotion
SupplyMotion
LateUpdate函数里if(xxx.activeInHierarchy…删掉后一个判断项
3.攻击力
FighterProxy
CalculateATK函数里最后直接乘上或者加上一个float
你懂得
未签名
看博主这么轻松,信手拈来的样子。
然而我自己来的时候,
配置ida,看懂汇编指令,配置安卓环境,开启调试,附加调试器,
这每一个步骤都把我整的死去活来。
虽然很不甘心,我还是决定放弃了。
大大求更新1.3.1哇~
求大大新版
有新版了吗?
大大,1.3.1出来了,冒昧求更新版本,非常感谢~
一样,特训更新后变更难了,卡8关了
大大1.3了~求更新~~
已更新
安装失败了 重签名也不管用?
meta 删掉重签可以安装 但是splash过了就黑屏了 夜神模拟器
手机可运行 感谢大大
谷歌自带那个安卓SDK还有蓝蝶表示稳……不过谷歌自带那个画面很迷就是了
我的锅,x86忘记改了,现在重下就好了
更新了大大
才玩1天就不能玩了,等大大更新
大大求更新~~
已更新
谢谢大大~
求1.2版本的修改
已更新
为什么微信登不上
貌似又更新了
太她么牛逼了
借个楼问个问题,楼主改了日版雷霆战机(金属战记),不知道有没有兴趣改微信国服版呢?纯好奇~
大大,更新了,求新版本。
已更新
求更新链接
大大求更新版本
大大,更新了求新客户端的修改-.-
已更新
哥们,我又来了。你程序方面是学的那些内容,能不能告诉我,我抽时间自学一下
涉及的方面很多,说不清楚。。。
那我就从.net看起吧。。抽空再看看java,安卓。 。
不知大神是否有时间看一下bili服的神威,因为不懂C#所以各种懵比。。最近忙着做设计,等过段时间,在下也学些程序上的内容
大大,B服的在下实在搞不定,有没有什么好的方法。 学艺不精 搞不懂了。
博主能帮我也看看这个游戏的攻击力在哪里吗?找了半天找不到 但是貌似没加密http://apk.qcwan.com/apk/2061/766
请问大大,dump+修改后的DLL要如何加密回去呢?谢谢
可以加个QQ吗 639072417
不需要加密回去,如果要加密可以去研究他的解密算法
但是我看到很多大陆的游戏都是需要加密回去才可以运行的,不然会卡在启动界面呢
你方便试试这个游戏吗?http://www.9game.cn/jfjh/
这个是需要加密回去才能运行的,谢谢
这种情况你应该把so文件里的判断条件去掉,使它不再走解密的代码即可。