AppStore内收费软件和游戏破解方法--证实可行

AppStore内收费软件和游戏破解方法--证实可行

内容引自CNPDA,国外论坛已经有好多人证实是有效的的。但破解的前提是有一份已购买的能在iPhone上运行的软件。

你需要以下东西-
1.GNU Debugger for iPhone (GDB)
2. otool for iPhone
3. 合法购买的程序
4.SSH

otool  和 gdb 可以通过 cydia 安装。 gdb 是GNU Debugger,otool 位于 toolchain 中。 下载之后, 检查权限,确认设置为755。然后重启你的 iPhone。

首先在 iPhone 上运行 otool。

引用:
otool -l path/to/myapp.app/xyz



这将给你很多信息,我们感兴趣的是 LC_ENCRYPTION_INFO。 它看上去就像下面这样- 

Load command 9 
cmd LC_ENCRYPTION_INFO 
cmdsize 20 
cryptoff 4096 
cryptsize 798720 
cryptid 1 
Load command 10 

cryptid 意思是程序是加密与否标志。 1= 加密的 0= 未加密 

cryptsize 是加密后的字节数。 注意前面的 4096 字节是未加密的 (mach-o header)。

2. 现在我们用 gdb 将 iPhone 内存中已解密的程序 dump 出来。 

运行程序;

运行以下命令-
引用:
ps ax

它会列出 iphone 中正在运行的进程。 

现在我们用 gdb 分析进程。 PID 是进程ID。有上面的命令查出。
引用:
gdb -p <pid>

这需要一点时间..... 

现在可以抓取 dump 了。在gdb 中用下面的命令 dump 内存。 我们想要的是从 0x2000 开始直到结束的一解密数据。
引用:
dump memory dump.bin 0x2000 0x20000

我们完成了,退出gdb。

3. 现在我们用hex编辑器将它们合并。 

用 dump 的数据将原版可执行程序文件中从 0x1000 开始的数据替换掉。 然后修改加密id。 它通常在 0x800 里。现在将它保存为新文件。传回iPhone。并将它重新签名:
引用:
ldid -S myapp

你可能感兴趣的:(游戏,加密,command,iPhone,encryption,破解)