level 7
丨HiDeヾ
楼主
内容引自CNPDA国外论坛已经有好多人证实是有效的的。但破解的前提是有一份已购买的能在iPhone上运行的软件。你需要以下东西-1.GNU Debugger for iPhone (GDB)2. otool for iPhone3. 合法购买的程序4.SSHotool 和 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
这需要一点时间..... 现在可以抓取 dump 了。在gdb 中用下面的命令 dump 内存。 我们想要的是从 0x2000 开始直到结束的一解密数据。 复制内容到剪贴板 代码:dump memory dump.bin 0x2000 0x20000我们完成了,退出gdb。3. 现在我们用hex编辑器将它们合并。 用 dump 的数据将原版可执行程序文件中从 0x1000 开始的数据替换掉。 然后修改加密id。 它通常在 0x800 里。现在将它保存为新文件。传回iPhone。并将它重新签名: 复制内容到剪贴板 代码:ldid -S myapp感谢 LSEMTEX,F3AR,CDECL,Some unkown guy, call him TNT
2008年07月28日 09点07分
1
这需要一点时间..... 现在可以抓取 dump 了。在gdb 中用下面的命令 dump 内存。 我们想要的是从 0x2000 开始直到结束的一解密数据。 复制内容到剪贴板 代码:dump memory dump.bin 0x2000 0x20000我们完成了,退出gdb。3. 现在我们用hex编辑器将它们合并。 用 dump 的数据将原版可执行程序文件中从 0x1000 开始的数据替换掉。 然后修改加密id。 它通常在 0x800 里。现在将它保存为新文件。传回iPhone。并将它重新签名: 复制内容到剪贴板 代码:ldid -S myapp感谢 LSEMTEX,F3AR,CDECL,Some unkown guy, call him TNT