关闭

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

标签: 逆向
83人阅读 评论(0) 收藏 举报
分类:

参考这边文章一步步操作:
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.
1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:28211次
    • 积分:668
    • 等级:
    • 排名:千里之外
    • 原创:32篇
    • 转载:4篇
    • 译文:6篇
    • 评论:12条
    最新评论