【C#】Il2CppDumper v0.1

2017-01-02 9,054 ℃

程序已更新,有任何问题请去最新文章下留言

原本这个程序只是为了理解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.soglobal-metadata.dat跟程序放在一起,双击运行,可以选择Manual模式需要手动输入两个参数的offset,具体参照这个,不过R0,R1是倒过来的别弄错了。或者选择Auto模式会自动寻找参数地址,当然只能对付正常编译的so,加了搅屎棍的肯定就不行啦。
最后地址
源码

GitHub

下载地址,上方GitHub的releases页面或者下面这个

百度云

Il2CppDumper v6.1.0

距离上次在博客发布都要快一年了,这次因为又添加了一个新功能,所以在博客介绍一下。 ida脚本现在分为“ida.py”和“ida_with_struct.py”两个,使用“ida_with_s...

阅读全文

双生视界Live2D提取

总算是回到家了,差点就要把这篇文章咕掉了。 在github上有人提双生视界Live2D解出来的文件载入显示有问题时,UnityLive2DExtractor的代码还没写完,所以先用...

阅读全文

UnityLive2DExtractor

摸了好久终于是把这玩意摸完了。 程序在原本AzurLaneLive2DExtract基础上,除了一些bug修复和细节完善,最主要的是实现了physics3.json的还原,这样其他游戏...

阅读全文

16 条评论

  1. 把libil2cpp.so,global-metadata.dat跟程序放在一起,双击运行??
    问下,libil2cpp.so,global-metadata.dat这两个文件跟那个程序放在一起啊,不是很明白这里的“程序”是指哪个?我下载你github上的那个Il2CppDumper-1.0.11,但是不知道怎么用,里面没有可执行文件啊,类似.exe的东西

    1. 搞明白了,谢谢大神,忘记来这里回复,有收藏了你的文章,今天看到了,进来回复下 :oops: :oops: :oops:

  2. 感谢楼主分享!
    另外,补充一下,如果运行时报:输出缓冲区太小错误的话,修改
    class MyBinaryReader : BinaryReader
    {
    // public MyBinaryReader(Stream stream) : base(stream{ }
    public MyBinaryReader(Stream stream) : base(stream, Encoding.Unicode) { }
    可以解决报错

  3. P大,我把makedie的你打不疼我的包用HexEditor和原包对比了下,发现他只改了一条指令就实现了这个功能.不知道他怎么做到的. :?: 不知道P大有没有什么解密提示呢?

    1. 喵喵喵??喵喵喵喵??喵喵喵喵喵?
      看得懂就看吧……基础*偏差/100
      你把100给换成99999999999999999999999999试试就知道了
      好像是100吧……也许是1000?

      1. 咪咪咪~~~
        那么是怎么找到修改地址的呢?那个地方貌似不在任何函数的入口啊~~~ :!:

          1. 咪咪咪咪 呜呜呜呜呜
            还是不知道该怎么找到哪里,怎么办 :?:
            /(ㄒoㄒ)/~~

  4. Help. There is no unk offsets of MetadataRegister and CodeRegister.

    1. Sorry, I don’t understand what you’re talking about, If you have any questions about this program, please go to the github

      1. Can you explain where can i find unk offsets in latest metadata 22?

      2. The unknown offsets of R0, R1 does not exist in latest metadata 22 as John said

        1. 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