2017-01-02 9,587 ℃
原本这个程序只是为了理解Il2CppDumper的工作原理随便写的,毕竟有现成代码比自己翻il2cpp的源码要来的快。不过最近处理锁链战记3.0.2的时候发现原版的Il2CppDumper报错,unity_metadata_loader跑出来的地址也不对,于是只好把自己的这个程序重新翻出来完善了一下。
比起原版Il2CppDumper,自己的程序修复了field offset的错误,完善了type name部分的代码,添加了自动处理功能等等。其实还有很多东西可以完善,比如64位elf支持啦,parameter default value啦,stringLiteral啦等等,不过我到现在都还没碰过64位的elf文件,完全不懂怎么写(,而且我还是太懒了,再者大部分情况下只要知道method地址和field offset就好了,stringLiteral啥的反正都得开ida看代码,真要弄还是到时候写个py脚本比较好,所以就到此为止啦~
顺便写下使用方法省的还有人问,把libil2cpp.so,global-metadata.dat跟程序放在一起,双击运行,可以选择Manual模式需要手动输入两个参数的offset,具体参照这个,不过R0,R1是倒过来的别弄错了。或者选择Auto模式会自动寻找参数地址,当然只能对付正常编译的so,加了搅屎棍的肯定就不行啦。
最后地址
源码
下载地址,上方GitHub的releases页面或者下面这个
把libil2cpp.so,global-metadata.dat跟程序放在一起,双击运行??
问下,libil2cpp.so,global-metadata.dat这两个文件跟那个程序放在一起啊,不是很明白这里的“程序”是指哪个?我下载你github上的那个Il2CppDumper-1.0.11,但是不知道怎么用,里面没有可执行文件啊,类似.exe的东西
搞明白了,谢谢大神,忘记来这里回复,有收藏了你的文章,今天看到了,进来回复下
感谢楼主分享!
另外,补充一下,如果运行时报:输出缓冲区太小错误的话,修改
class MyBinaryReader : BinaryReader
{
// public MyBinaryReader(Stream stream) : base(stream{ }
public MyBinaryReader(Stream stream) : base(stream, Encoding.Unicode) { }
可以解决报错
感谢,虽然我从来没遇到过。。。
P大,我把makedie的你打不疼我的包用HexEditor和原包对比了下,发现他只改了一条指令就实现了这个功能.不知道他怎么做到的. 不知道P大有没有什么解密提示呢?
喵喵喵??喵喵喵喵??喵喵喵喵喵?
看得懂就看吧……基础*偏差/100
你把100给换成99999999999999999999999999试试就知道了
好像是100吧……也许是1000?
咪咪咪~~~
那么是怎么找到修改地址的呢?那个地方貌似不在任何函数的入口啊~~~
喵喵喵喵喵喵喵:float 100
喵喵喵喵喵喵喵喵喵,喵喵喵?
喵喵喵喵喵喵喵╮(╯▽╰)╭
喵喵喵喵(☆_☆)
咪咪咪咪 呜呜呜呜呜
还是不知道该怎么找到哪里,怎么办
/(ㄒoㄒ)/~~
感謝P大.. 可以繼續修改了..
Help. There is no unk offsets of MetadataRegister and CodeRegister.
Sorry, I don’t understand what you’re talking about, If you have any questions about this program, please go to the github
Can you explain where can i find unk offsets in latest metadata 22?
The unknown offsets of R0, R1 does not exist in latest metadata 22 as John said
https://www.perfare.net/659.html
筅幵IDA揾菿il2cpp::vm::MetadataCache::Register,伱睼丅铱嗰呅璋菈
In the IDA and il2cpp: can Dao: vm:: MetadataCache:: Register, you Tian. When she Wen Zhang Iridium
伱嚸繲唔翻丅倪嗰呢?看看舊嘢冇助亍伱嘅姿勢氺泙嘅提昇
You: Oh. He turned some Ni? I can help you to see the old, so Peng, improve posture
我用百度翻译才看懂你写什么,你能好好写中文么?
I use Baidu translate to understand what you write, you can write Chinese?
以上全部都是百度翻译的结果#(滑稽)
All of the above is the result of Baidu translate
you means “version 22”?