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

参考这边文章一步步操作:
http://dev.qq.com/topic/577e0acc896e9ebb6865f321

砸壳

目的:只有砸壳应用才能class-dump出头文件。
1. 首先通过pp助手,将dumpdecrypted.dylib放到微信的Documents目录中。
pp助手
2. 进入微信安装目录,用dumpdecrypted.dylib进行砸壳
find / -name “WeChat”
查找微信
进入这个目录后执行:
DYLD_INSERT_LIBRARIES=./Documents/dumpdecrypted.dylib ./WeChat.app/WeChat
砸壳
在tmp目录找到砸壳后的文件:WeChat.decrypted
砸壳后的文件

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

动态分析-cycript

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

  1. 找到微信对应的进程ID
    ps aux | grep WeChat
    找到微信进程

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

  1. 打开微信,动态调试微信程序。
    cycript命令
    结果:
    cycript命令

3.从中间的UIViewControllerWrapperView一步步往上推,
查找层次关系
可以看到,这里并没有笔者所说的BaseMsgContentViewController类。

通过class-dump命令找到微信所有的头文件:
class-dump –arch armv7 -S -s -H WeChat.decrypted -o ./
在结果中确实可以找到BaseMsgContentViewController.h。

  1. 用Logify(通过名字可以猜测其作用是打印日志)为.h文件中的函数增加代码,以打印输入参数和输出参数:
    logify.pl ./Headers/BaseMsgContentViewController.h > Tweak.xm
    logify结果

theos创建tweak

  1. 通过nic.pl创建tweak,可以先修改环境变量:
    vi ~/.bash_profile
    在最后增加这两行:
    export THEOS=/opt/theos
    export PATH=”/opt/theos/bin:$PATH”

  2. 修改Makefile为“
    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.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值