今天无聊在玩ipad上的一个游戏(Exitum) 发现升级好慢,就突发奇想想虐一下ipad上的游戏
需要懂linux命令和arm汇编指令 不懂goolge 就能看懂
1.在ipad上安装一些需要用到的反汇编工具:
先在cydia安装apt工具 然后ssh到小i上开始linux命令之旅...(好几年没用linux了 重温几年前的感觉^_^)
3g2008mato-iPad:~ root#apt-get install gdb otool vbindiff vim
2.附加游戏进程开始调试
3g2008mato-iPad:~ root# ps ax
PID TT STAT TIME COMMAND
364 ?? RXs 29:55.56 /var/mobile/Applications/DD65EB24-47D8-4635-A642-AE49DE806B88/Exitium.app/Exitium
找到游戏进程后 然后用gdb attach到游戏进程(类似windows下的od附加功能)
3g2008mato-iPad:~ root# gdb -p 364 //364进程id
linux下的动态调试好像没win的好使,我先在win7上安装一个winscp (用来和linux之间传送文件用的)
winscp连接到ipad上把游戏主程序Exitum复制到win7上
然后打开 IDA开始静态分析 首先分析思路是这样的 ios游戏的函数都是以英文命名 比如生命Life 金钱Gold Coin 经验Exp 为关健字
从ida左边的函数搜索到一个addExp(i