Monthly Archives: August 2016

还原使用IL2CPP编译的unity游戏的symbol(一)

0x00 背景

使用unity开发iOS游戏的都知道,如果使用IL2CPP选项编译unity游戏,会生成CPP代码,然后再从CPP代码编译成可执行文件。使用这种方式编译出的iOS游戏非常难以逆向破解,因为你得去阅读arm汇编。更糟的是所有游戏中使用的字符串都被保存在了一个叫global-metadata.dat的资源文件里,只有在动态运行时才会将这些字符串读入内存。这使得用IDA对游戏进行静态分析变得更加困难,于是我写了这么一个IDA插件,可以从global-metadata.dat里提取出字符串,赋值给IDA中相应的变量。
Continue reading