无意见到一个好的博客,思路教程比较完善,ios 逆向 wiki,逆向入门的良心之作。
一、熟悉工具
本人对如下的工具作一个小结吧,cycript 是主要是找函数的,验证自己的想法是不是对头,因为逆向过程,是通过 UI 和 事件,一步步的找类的函数,因为数据是来自函数。hopper 通过分析 mach-o 文件,得到逆向的函数汇编,要有 arm64 汇编有了解,theos 主要是编写 tweak 代码,深入了解,tweak 代码是如何调用的,签名主要目的能够上架,本人学习的逆向的目的,是能分析人家的应用和游戏,并能修改其核心代码,目前还在学习 ARM64 汇编,根据小黄书和 AloneMonkey 书进行学习,今年能将这两本书吃透,后续能去读取原码。
-
如何通过 USB 联Mac 电脑
a 、通过USB连接
b、免密码登陆
c、每次要手机联接mac 都要打开终端两次,iproxy 2222 22 和 ssh -p 2222 root@localhost。可以尝试将iproxy 2222 22 命令写在开机启动加载页面, ssh -p 2222 root@localhost 觉得麻烦的话,可以通过给它指定一个名字进行 SSH 连接。 -
cycript 的使用
a、手机直接通过 cydia 安装 cycript
b、使用Cycript修改微信app
c、Cycript脚本语言使用与实战
d、Cycript 的封装 -
machView 使用
-
hopper 使用
-
脱壳工具的使用
脱壳工具现在常用的有两个 Clutch 和dumpdecrypted,网上资料一把包,主要注意点是dumpdecrypted动态库要放在 /var/root 目录下。
检查是否脱壳
otool -l mach 文件 | grep crypt
- theos 工具使用
主要注意点是需要配置两个常量,指定ip 和端口,如下是通过 usb进行连接
export THEOS_DEVICE_IP=127.0.0.1
export THEOS_DEVICE_PORT = 2222
-
debugserver 的配置和 lldb
debugserver 的配置主要思路如下几个:
1、拿到手机中 debugserver
2、给 debugserver 添加权限
3、将 debugserver 放在 手机目录/bin
4、打开手机 debugserver,并监听端口
5、Mac 需要做端口转换
6、lldb 转接到手机的端口
7、Mac 开始在客户端进行调试。
iOS逆向工程之Hopper+LLDB调试第三方App
Debugserver + lldb 遇到无法Attaching的问题
-
重签名,包括动态库的签名
二、逆向实践
待完善
网友评论