神威启示录相关

2016-04-17 5,091 ℃

官服1.0

前言

虽然曾经在梅露可弃坑后说了再也不碰乐元素的游戏,不过现在我反悔啦~

解密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处下断点,原因如下图
QQ截图20160417054028
QQ截图20160417054056
运行到断点后,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

你懂得

未签名

百度云

【2018-10-27】碧蓝航线Live2D提取

2018-10-27 v1.2 完善4种Segment 2018-10-23 v1.1 修复易拉罐等SteppedSegment问题 正文 自从看到敦刻尔克的live2d后就决定要提取一发来射爆,经过简单的分析...

阅读全文

Unity下的注入与修改

已经有很长一段时间没写过游戏修改的文章了,一个原因是现在越来越多的手游厂商都开始给游戏上各种各样的保护,以前简单的直接修改dll或者直接修改so早已经不...

阅读全文

少女前线Live2D解密

上周在CP22看到这个游戏两周年了,打算回坑玩一阵,不过上一个号是买的初始号账号密码都忘记了,所以只好开了个新号。然后新皮肤倒是抽到了,不过枪都没有怎...

阅读全文

40 条评论

  1. 看博主这么轻松,信手拈来的样子。
    然而我自己来的时候,
    配置ida,看懂汇编指令,配置安卓环境,开启调试,附加调试器,
    这每一个步骤都把我整的死去活来。
    虽然很不甘心,我还是决定放弃了。

  2. 借个楼问个问题,楼主改了日版雷霆战机(金属战记),不知道有没有兴趣改微信国服版呢?纯好奇~ :lol:

  3. 哥们,我又来了。你程序方面是学的那些内容,能不能告诉我,我抽时间自学一下 :shock:

  4. 不知大神是否有时间看一下bili服的神威,因为不懂C#所以各种懵比。。最近忙着做设计,等过段时间,在下也学些程序上的内容 :cool:

  5. 博主能帮我也看看这个游戏的攻击力在哪里吗?找了半天找不到 但是貌似没加密http://apk.qcwan.com/apk/2061/766

      1. 但是我看到很多大陆的游戏都是需要加密回去才可以运行的,不然会卡在启动界面呢 :cry:

      2. 你方便试试这个游戏吗?http://www.9game.cn/jfjh/
        这个是需要加密回去才能运行的,谢谢

欢迎留言

5 + 9 =