一 粮草先行
1.首先要有一个越狱的机器,如果没有,下面的事情就可以忽略了
2.Reveal,
不必多说,可以查看真机任意APP的UI架构,可以用于分析,解析他人APP。(如果你是一个越狱机器,在cydia里搜索,Reveal Loader(包括下面要用到的OpenSSH和Cycript))

,然后在设置-Reveal里,可以设置要查看哪些app的架构

3.OpenSSH,
可以通过终端连接到手机,确保手机和电脑在同一个网段,密码默认为 alpine

4.Cycript,
是saurik退出的脚本语言功能很强大,是反编译开发中不可或缺的工具.

5.yololib
dylib injector for mach-o binaries
github 地址 https://github.com/KJCracks/yololib
6.dumpdecrypted
砸壳工具,在app store 下载的应用,都是被加密过的,而class-dump无法应用于被加密的app,所以就需要用dumpdecrypted进行砸壳,
https://github.com/stefanesser/dumpdecrypted
确保我们从Github上下载了最新的dumpdecrypted源码,进入dumpdecrypted源码的目录,编译dumpdecrypted.dylib,输入<code>make</code>命令,就能在目录下生成dumpdecrypted.dylib文件.
拷贝dumpdecrypted.dylib到iPhone上,这里我们用到scp命令.或者通过ifunBox拷贝到要砸壳的应用目录下,
<code>DYLD_INSERT_LIBRARIES=/PathFrom/dumpdecrypted.dylib /PathTo</code>
1.ssh到手机
2.输入ps -e 可以查看到当前进程的应用.

3.可以通过ifunBox讲先前生成的dumpdecrypted.dylib拷贝到.document目录下,

,
4.在命令行,定位到当前dumpdecrypted.dylib的所在位置.

通过ls -l可以显示当前路径下的文件.
5.通过
<code>DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/mobile/Containers/Bundle/Application/8104ABB2-61BB-424E-B175-32AB9E4A05DE/NewsBoard.app/NewsBoard</code>命令,可以进行砸壳,通过ifunbox可以看见在当前目录下生成了一个

后缀为.decrypted的文件.
6.将该文件拷贝到电脑,目前砸壳就完成了.
7.class-dump
class-dump是一个可以导入其他应用的工具,算是逆向工程中一个入门级的工具。下载地址:http://stevenygard.com/projects/class-dump选择dmg文件下载后,将dmg文件中的class-dump复制到/usr/bin目录,并在Terminal中执行"sudo chmod 777 /usr/bin/class-dump" 命令赋予其执行权限。
对上一步生成的文件进行砸壳,

如果失败,就会只生成下面一个文件

后来查询知道iPhone5的架构是armv7所以,在解析头文件的命令中要加入<code>--arch armv7</code>

然后在当前的目录下,就会解析到该app的头文件

网友评论