您的位置:首页 > 其它

OS逆向之二--逆向技术基本操作(未完成)

2017-08-25 16:40 127 查看
参考这边文章一步步操作:

http://dev.qq.com/topic/577e0acc896e9ebb6865f321

砸壳

目的:只有砸壳应用才能class-dump出头文件。

1. 首先通过pp助手,将dumpdecrypted.dylib放到微信的Documents目录中。



2. 进入微信安装目录,用dumpdecrypted.dylib进行砸壳

find / -name “WeChat”



进入这个目录后执行:

DYLD_INSERT_LIBRARIES=./Documents/dumpdecrypted.dylib ./WeChat.app/WeChat



在tmp目录找到砸壳后的文件:WeChat.decrypted



疑问1:dumpdecrypted.dylib能否在越狱手机上进行砸壳的原理是什么?

动态分析-cycript

目的:找到微信的消息处理入口。

找到微信对应的进程ID

ps aux | grep WeChat



疑问2:当微信没有进行时,该进程ID指得是什么?

打开微信,动态调试微信程序。



结果:



3.从中间的UIViewControllerWrapperView一步步往上推,



可以看到,这里并没有笔者所说的BaseMsgContentViewController类。

通过class-dump命令找到微信所有的头文件:

class-dump –arch armv7 -S -s -H WeChat.decrypted -o ./

在结果中确实可以找到BaseMsgContentViewController.h。

用Logify(通过名字可以猜测其作用是打印日志)为.h文件中的函数增加代码,以打印输入参数和输出参数:

logify.pl ./Headers/BaseMsgContentViewController.h > Tweak.xm



theos创建tweak

通过nic.pl创建tweak,可以先修改环境变量:

vi ~/.bash_profile

在最后增加这两行:

export THEOS=/opt/theos

export PATH=”/opt/theos/bin:$PATH”

修改Makefile为“



执行make package install 时报错:



暂时未能解决Tweak.xm中的编译问题。先跳过吧。

动态分析-lldb

将手机连接xcode,执行命令debugserver *:19999 -a WeChat,输出错误:

adminde-iPhone:~ root# /Developer/usr/bin/debugserver *:19999 -a "WeChat"
debugserver-310.2 for armv7.
Attaching to process WeChat...
error: failed to attach to process named: "" unable to start the exception thread
Exiting.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: