dazhaxie2015 发表于 2014-12-24 16:50:25

新手入门----如何分析一款从AppStore下载下来的应用

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





听鬼哥说故事 发表于 2014-12-24 18:26:51

前排支持,期待大闸蟹后续的文章发布~~~~~~赞一个~~~~~~~

JackIO 发表于 2014-12-24 18:30:16

前排帮顶。

SnowNight 发表于 2015-1-17 10:09:54

哇塞我可以发帖了!

kevinmou 发表于 2015-4-6 11:41:14

写得很通俗易懂。

飘飘然的感觉 发表于 2015-7-27 09:45:00

自重。 发表于 2015-7-29 15:00:27

页: [1]
查看完整版本: 新手入门----如何分析一款从AppStore下载下来的应用