很多时候我们下载的应用都是来自AppStore,那么如何分析一款这样的应用呢? 
首先你的机器要越狱啦,cydia 里添加威锋的源:apt.feng.com 里面有很多常用的工具 
分析前的准备工作: 
(一)常用的UNIX命令 
•ps            ——显示进程状态,CPU使用率,内存使用情况等 
•sysctl      ——检查设定Kernel配置 
•netstat    ——显示网络连接,路由表,接口状态等 
•route       ——路由修改 
•renice      ——调整程序运行的优先级 
•ifconfig   ——查看网络配置 
•tcpdump  ——截获分析网络数据包 
•lsof          ——列出当前系统打开的文件列表,别忘记一切皆文件,包括网络连接、硬件等 
•otool ①    ——查看程序依赖哪些动态库信息,反编代码段……等等等等 
•nm ②       ——显示符号表 
•ldid ③     ——签名工具 
•gdb         ——调试工具 
•patch      ——补丁工具 
•SSH        ——远程控制 
•Scp  ——远程复制 
 
 
(二)工具 
•步骤一、脱壳(版权保护壳)clutch (应用在上传至AppStore时会自动加壳的) 
•步骤二、class-dump头文件 
•步骤三、ida分析 
•步骤四、针对特定函数写tweak插件 
•步骤五、gdb或lldb动态分析 
 
 
(三)详细步骤 
•越狱机器上安装clutch或 iNalyzer,Mac机器上安装doxygen 
•运行clutch命令 或 inalyzer命令  选择要破解的程序脱壳 
•这2个脱壳工具的不同点是,inalyzer可以生成类的文档,类之间关系图,软件工具UML图 
 
•把脱壳好的应用复制到Mac电脑,可以用我们的助手、itools、ifunbox、或系统命令 
电脑上运行class-dump–h   dump出要破解应用的头文件。如果用inalyzer脱壳的话 可以跳过此步骤 
•请出重量级的反汇编工具IDA,搜索敏感的字符串 比如 MD5 hash blowfish等关键校验和加密函数 找到他们所在的函数分析此函数。 
•如何在运行时打印要破解程序的关键log呢,这就要请出theos插件编写工具了,这个可以编写HOOK lib 把动态库注入到指定的进程中。 
 
 
 
 
 
 |