iOS 应用逆向工程(三)
2015-11-03 10:39
423 查看
今天来介绍一个工具dumpdecrypted
从AppStore下载的APP 都是经过apple加过密的,可执行文件被套上了一层壳。class-dump 无法作用于加密过的APP。在这种情况下,想要获取APP的头文件,就必须解密APP的可执行文件,俗称“砸壳”。dumpdecrypted就是有越狱社区的知名人士Stafan Esser 出品的一款砸壳工具,被广泛运用于iOS 逆向工程中。
首先,获取dumpdecrypted
sudo git clone git://github.com/stefanesser/dumpdecrypted
编译:make
在当前目录下会生成一个 dumpdecrypted.dylib文件
$ ls
Makefile dumpdecrypted.c dumpdecrypted.o
README dumpdecrypted.dylib
$ssh root@iOSIP
然后打开targetApp
$ps -e
可以清楚的看到TargetApp
~ root# cycript -p Meilishuo
cy# [[NSFileManager defaultManager]URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask][0]
#"file:///var/mobile/Containers/Data/Application/DEEAB8F8-3E18-436D-9D9B-65BA5241E153/Documents/"
cy#
这样我们就找到了document 的路径了
然后将dumpdecrypted 拷贝到Docments目录下
scp dumpdecrypted.dylib
root@192.168.2.15:/var/mobile/Containers/Data/Application/D11ABC62-5CF4-48B9-ACD8-973F4DF87500/Documents/
拷贝过去后,开始砸壳
具体命令:
$cd /var/mobile/Containers/Data/Application/D11ABC62-5CF4-48B9-ACD8-973F4DF87500/Documents/
$DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/mobile/Containers/Bundle/Application/835D7556-F2DA-49C5-ADF4-B33E4A00B686/Meilishuo.app/Meilishuo
砸壳后会在documents目录中生成一个对应的decrypted 文件
root# ls /var/mobile/Containers/Data/Application/DEEAB8F8-3E18-436D-9D9B-65BA5241E153/Documents/
Meilishuo.decrypted dumpdecrypted.dylib*
lua/
TCSdkConfig.plist local_log/ tencent_analysis_qc.db
然后将这个decrypted 文件考到电脑中即可,使用class-dump IDA 等工具进行分析。
使用class-dump 进行分析,
$class-dump -S -s -H WeChat.decrypted -o wechat.h
[wechat.h]$ ls -l |wc -l
6447
再用上述命令查看,我们可以看到微信的庞大,膜拜一下吧!
从AppStore下载的APP 都是经过apple加过密的,可执行文件被套上了一层壳。class-dump 无法作用于加密过的APP。在这种情况下,想要获取APP的头文件,就必须解密APP的可执行文件,俗称“砸壳”。dumpdecrypted就是有越狱社区的知名人士Stafan Esser 出品的一款砸壳工具,被广泛运用于iOS 逆向工程中。
首先,获取dumpdecrypted
sudo git clone git://github.com/stefanesser/dumpdecrypted
编译:make
在当前目录下会生成一个 dumpdecrypted.dylib文件
$ ls
Makefile dumpdecrypted.c dumpdecrypted.o
README dumpdecrypted.dylib
$ssh root@iOSIP
然后打开targetApp
$ps -e
可以清楚的看到TargetApp
~ root# cycript -p Meilishuo
cy# [[NSFileManager defaultManager]URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask][0]
#"file:///var/mobile/Containers/Data/Application/DEEAB8F8-3E18-436D-9D9B-65BA5241E153/Documents/"
cy#
这样我们就找到了document 的路径了
然后将dumpdecrypted 拷贝到Docments目录下
scp dumpdecrypted.dylib
root@192.168.2.15:/var/mobile/Containers/Data/Application/D11ABC62-5CF4-48B9-ACD8-973F4DF87500/Documents/
拷贝过去后,开始砸壳
具体命令:
$cd /var/mobile/Containers/Data/Application/D11ABC62-5CF4-48B9-ACD8-973F4DF87500/Documents/
$DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/mobile/Containers/Bundle/Application/835D7556-F2DA-49C5-ADF4-B33E4A00B686/Meilishuo.app/Meilishuo
砸壳后会在documents目录中生成一个对应的decrypted 文件
root# ls /var/mobile/Containers/Data/Application/DEEAB8F8-3E18-436D-9D9B-65BA5241E153/Documents/
Meilishuo.decrypted dumpdecrypted.dylib*
lua/
TCSdkConfig.plist local_log/ tencent_analysis_qc.db
然后将这个decrypted 文件考到电脑中即可,使用class-dump IDA 等工具进行分析。
使用class-dump 进行分析,
$class-dump -S -s -H WeChat.decrypted -o wechat.h
[wechat.h]$ ls -l |wc -l
6447
再用上述命令查看,我们可以看到微信的庞大,膜拜一下吧!
相关文章推荐
- iOS 手势识别 - gestureRecognizer
- ios 多线程的理解
- iOS百度地图SDK详解
- iOS简单约束1
- ios 图片压缩的两种方式
- IOS GPS(定位城市)
- iOS xcode7以后启动图
- iOS 本地推送
- 数据持久化
- IOS修复两个导航栏状态不一致导致跳转时,导航栏黑底的问题
- ios NSTimer做的计时器(精确到微妙)
- iOS 开发传值 代理传值
- iOS中大流中的自定义cell 技术分享
- ios 读取通讯录
- iOS中 通知中心Text (实例)
- iOS中 通知中心Text (实例)
- iOS中大流中的自定义cell 技术分享
- iOS中大流中的自定义cell 技术分享
- ios消息队列APNS实现和证书申请
- IOS中NSUserDefaults的用法(轻量级本地数据存储)