苹果机之静态分析2 | 看一看别人的代码
来源:互联网 发布:ug数控车床编程讲解 编辑:程序博客网 时间:2024/06/05 04:43
之前有介绍过使用clutch跟class-dump来静态分析目标app(http://www.jianshu.com/p/808a5f6923e3),本文同样介绍静态分析,主要工具为dumpdecrypted与class-dump,并以“微信”为例进行说明。
(一)问题
使用最新的clutch2.0.4-debug,未能破解微信6.5.12版本。
而且,微信6.5版本,运行后,ps aux找不到进程信息。
在clutch无效的情况下,如何破解微信6.5版本?
(二)解决办法
办法1,使用dumpdecrypted来破解:
git clone https://github.com/stefanesser/dumpdecryptedcd dumpdecryptedmake --生成dumpdecrypted.dylib
在手机cydia上搜索Filza,并安装。
利用Filza找出微信的安装路径。(不能使用cycript,因为进程id都找不到。)
微信安装目录:/var/mobile/Containers/Bundle/Application/4777DEE2-6805-45F7-B3D0-CB4277DD5389/WeChat.app
拷贝dumpdecrypted.dylib到手机:
scp dumpdecrypted.dylib root@xx.xx.xx.xx:/
启动微信,ssh到手机,cd到dumpdecrypted.dylib所在的目录,执行:
DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/mobile/Containers/Bundle/Application/4777DEE2-6805-45F7-B3D0-CB4277DD5389/WeChat.app/WeChat
在当前目录生成WeChat.decrypted文件,即为破解后的文件。
办法2:使用手机上的pp助手、爱思之类的工具,安装一个微信(已经砸壳)。
(三)提取出头文件
scp WeChat.decrypted到pc,先观察一下这个文件:
file WeChat.decrypted --可以看到包括两个指令集:armv7跟arm64otool -l WeChat.decrypted | grep cryptWeChat.decrypted (architecture armv7): cryptoff 16384 cryptsize 55377920 cryptid 1WeChat.decrypted (architecture arm64): cryptoff 16384 cryptsize 59883520 cryptid 0可以看到,armv7是加密了的,而arm64是解密了的,所以在使用class-dump与hopper时,都应该选择arm64。
提取头文件:
class-dump -A -a --arch arm64 WeChat.decrypted > dumpinfo
dumpinfo里面为所有头文件信息,比如:MicroMessengerAppDelegate为appdelegate类。
基于静态分析到的内容,可以做出更多分析,此为后话。而且,静态分析,还应该包括hopper或ida等工具的使用。
- 苹果机之静态分析2 | 看一看别人的代码
- 苹果机之静态分析 | 看一看别人的代码
- 苹果机之动态调试 | 定位关键代码
- 苹果机之看系统日志 | 分析信息第一步
- MyHTMLParser加分析别人的代码
- 苹果机
- 【寒江雪】静态测试之代码分析
- 如何阅读别人的代码2
- 如何阅读别人的代码2
- 读别人的代码
- 修改别人的代码
- 别人分析的Android.
- 第一次刷苹果机的过程
- 代码质量之二----善用代码静态分析工具
- java代码问题分析之静态分析工具(Klocwork Insight)
- 熬夜的朋友看一看
- 需要看一看的博客
- 看一看出国的人
- 百度ueditor富文本--自定义插件按钮
- db_link
- 关于类加载和初始化时内部元素加载顺序
- LinkedList和ArrayList的区别
- python cgi服务尝试
- 苹果机之静态分析2 | 看一看别人的代码
- jquery mobile的两种页面跳转方式
- 8.9数据结构练习
- 日常放松自己压力的一些简单方法
- 润乾集算器与帆软报表应用集成
- SpringMVC问题集合
- shell脚本;if语句测试ping
- jQuery
- 再次谈谈TCP的Nagle算法与TCP_CORK选项