2016-12-06 60,321 ℃
锁链战记3.0版本也是换上了il2cpp,所以刚好就用它来写一篇简单的il2cpp修改教程
使用的是日服3.0.1版的锁链战记
首先要使用一款工具:Il2CppDumper,暑假pokemon go火起来的时候国外出现了一堆U3D的修改工具,这就是其中之一。这里推荐使用这个增加了交互功能的版本,可以省的自己重新编译。至于这工具具体功能我就懒得介绍了,反正往下看就知道啦~。
使用Il2CppDumper
从apk解压出libil2cpp.so和global-metadata.dat,把libil2cpp.so丢进ida,等分析结束后,在左侧Functions window搜索il2cpp::vm::MetadataCache::Register
双击.plt那一行,在右侧可以看到一个引用,双击
可以看到这个
接下来把上面的Il2CppDumper和libil2cpp.so,global-metadata.dat放在一起,双击运行,分别输入上图的头两个offset,就是174E858和1739C10,等待几秒后就能生成dump.cs啦
修改
打开dump.cs看一眼,你大概就可以猜出Il2CppDumper的功能了。接下来就是找修改的位置,这里直接参考了我去年写的一篇文章,里面列举了非常基础的修改位置,可以看出修改攻击力的话就是修改CardInfo下的get_ATK函数的返回值,在dump.cs里搜索就能找到,右侧的值就是函数所在的位置啦
接下来就是修改so,因为这就是个返回攻击力int数值的函数,所以修改思路就是让它返回一个大值,这里il的代码还是有点参考价值的,arm下也就是两句话
mov r0,#0x19000 —> ldc.i4 0x19000
bx lr —> ret
注意arm里不是所有数都可以是立即数的,具体的就自行百度啦
接下来就把这两句话转换成HEX,用这个在线转换网站,输入上面两段代码,在ida里明显可以看出代码的间隔是4字节,也就是32位,所以就选x32,点击Convert后就可以得到HEX
190AA0E3
1EFF2FE1
接下来就在16进制编辑器里,跳转到偏移0x91ae50,把上面的HEX写进去就修改成功啦~
请问 我打开ida后会发现仅限ida界面半小时过后仍然非常非常卡 是因为处于解析中吗?通常ida解析要超过半小时之类的吗?
看你cpu
请问
1.解析完成时ida是不会卡的吗?
2.我的电脑是4G运存的国产cpu 解析是否要超过半小时?
谢谢!
我怎么会知道
版主您好!想請問一下如果找不到il2cpp::vm::MetadataCache::Register 是代表什麼?
我想修改的是女東京食屍鬼 :Re Invoke 可以幫忙看一下?
问个超级小白的问题,dump.cs用什么打开?
分析完后,并没有找到Functions window这个窗口..应该怎么弄。。
看漏了ida,找到了
今天更新的1.1.1地址貌似偏移了?
您好,我看了你的教程之后,想修改一下崩坏3的il2cpp,我找到了il2cpp::vm::MetadataCache::Register,在plt里面并没有找到引用的地方,所以我想请问一下如何找到那个引用
大概是你姿势不对
膜大佬,顺便问问,我这有个游戏,地址对于了一段挺长的函数,但是ida没识别出来这是段函数,有没有办法知道这段函数的长度好让我Phrase出来一个函数反编译?
il2cpp里函数开头结尾很容易识别的吧。。。
你好,我是在网上找的时候发现这个文章的。我是想修改崩2来着。但是把文件扔进去之后,加载完,很多次只有一次能够搜到il2cpp::vm::MetadataCache::Register,而且就那一次搜到之后,plt里也找不到引用。。。。。。我问了一些会修改的人,他们不愿意透露太多给我,只说要搜il2cpp::vm::MetadataCache::Register。所以你知道为什么会有这种情况吗?谢谢了
我也不知道你什么情况
额,后来我搜到了,就是最尴尬的是好像他们给加密了,所以现在我也没有什么办法了。尤其是我还不怎么懂这方面的。。。。。。知识
我在修改天華百剣 斬 【OBT】 这个的时候,发现攻击力那里是浮点数:
public float get_Atk();
按照你的教程弄回去后,伤害固定为1,是否与浮点数有关?
这不是明显的吗。。。。
那代码应该怎么改动呢,arm的代码搞不懂
请百度或者谷歌。。。。
P大,问一下你有研究过少女前线的修改么?很早的版本可以直接修改Assembly-CSharp.dll,自己试着改了改,后来的版本大概是加密了,解析不了dll文件。想问一下这时候该怎么解析加密的dll文件?非常感谢
一般是在libmono里面 有个 mono_image_open_from_data_width_nam这个开头的函数,可以看到解密方法,如果这里面没有 一般是hook
喵喵喵喵喵?表示已经被永久封号的路过……你确定要去作死么?
http://gf.ppgame.com/web/pc/info.html?id=385 反正我已经进去了
求大神给个解密后的Assembly-CSharp.dll
hello, some apk files error.
What is the reason?
https://imgur.com/T09DRgF
This is not an error, just warning
Only the program used by the compiler is relatively new, your old version of the IDA doesn’t recognize something
now ida 6.8 pro, same apk
for example
tribal mania game no error good decompile but grow castle this error :/
visual studio 2015 not installed.
Could it be the reason?
Howdy, i read your blog from time to time and i
own a similar one and i was just curious if you get a
lot of spam comments? If so how do you protect against it,
any plugin or anything you can recommend? I get so much lately it’s driving me insane so any
support is very much appreciated.
Akismet
請問3.0.2版的打不痛我還能用嗎?
我點開進用程式就閃退,有安裝幸運破解器
但還是無法使用
目前用電腦模擬,BlusStacks
不知道哪個環節出了問題
想要打天魔XDD
可以請大大教學,或是能發個傻瓜包給我嗎?
版主您好,不知道你對鎖鍊戰記的網路傳輸封包是否有研究?
小弟玩的是台版,本來台版在密路傳輸過程中都是沒有加密的明文,可以簡單透過wireshark或是fiddler之類的debug proxy瞭解到封包內容。
但是從2.7.2之後,response給加密了起來,因為日版是早已加密過的了,不知道版主是否有經驗能從反組譯的apk當中找到加解密的function可以分享一下
没有研究哦
又再來打擾P大你.. 302的地址真的不知怎樣找.. 雖然已經跟據你提供的get_ATK地址修改好了.. 但還是不會找地址.. 希望P大能再分享多一點經驗.. 謝謝~
3.0.2搜不到Register?
P大~3.0.2搜不到Reg了?
Perfare大大, 最新版 3.0.2用 IDA Pro打開 libil2cpp.so 時會出現
This file contains non standard usage of relocations.
Please send the input file to
按OK進去後, 也搜尋不到 “il2cpp::vm::MetadataCache::Register”……
Il2CppDumper.exe没法运行,请问至少要安装哪个版本以上的运行环境?
vc++运行库05到15全装一遍就好了呀
我只装了08和10啊= =
头疼
http://staff.ustc.edu.cn/~llxx/embedded/slides/llxx7.pdf
另附上ARM指令參考資給其他小伙伴..
感激P大的教程..
有一點想P大具體說明一下: 就是說跟以往要修改不用mana珠就能發動必殺技的這類修改是不是不可行? (要把變量 增加或縮減 一個整數或浮動數值)
首先你要找到变量的位置,然后具体问题具体分析,就会有很多种修改方式,比如
mov r0,r1的时候改成add r0,r1,#1
或者改为B到一个没用到的地方,add完以后再b回来
或者还有很多修改的方法我这里就不列举了
謝謝回覆.. 了解多了..
我怕的就是把某段刪減後, 整體位置都會亂掉..
例:
A0 mov r4,r0
A4 mov r6,r1
A8 mov r1,#0x123
AC …
… …
把A4 mov r6,r1 刪除後, 是不是要把往後的地址全都要改?
用mov r0,r0
還是不明白.. 用mov r0,r0 只把要刪掉的那一句替換就可以?
因為我查看P大修改的3.0.0 版, 發現是整段函數只有兩句.. 但原本是有8句.. 教程中說到只替換兩句就完成.. 這點一直想不明白.. 是要把後面的HEX都置零?
函数执行到bx lr就返回了,也就是return了,后面的都不会执行到,自然不懂管
报告!报告! 终於成功修改了.. 虽然也就是跟P大修改相同的地方而已.. 但已经有突破点..
应该要花更多时间才可以修改无限技能, 快速超必杀技, 10倍速, 完成宝箱等, 较复杂的修改..
再次谢谢P大的教程和回覆我的愚问~ 感激..
膜+1
膜
膜