很多时候我们下载的应用都是来自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 把动态库注入到指定的进程中。
|