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.
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/dangyalingengjia/article/details/77542458
文章标签: 逆向
个人分类: iOS iOS逆向
上一篇UIView的drawHierarchy vs CALayer的render
下一篇iOS逆向工具--usbmuxd使用
想对作者说点什么? 我来说一句

逆向编译技术

2017年05月28日 248KB 下载

逆向编译技术(中文版)

2009年08月02日 789KB 下载

Hopper Disassembler Mac下逆向工具

2013年08月21日 9.55MB 下载

没有更多推荐了,返回首页

关闭
关闭