越狱动态调试

1. reveal调试
1.1 reveal概述

Reveal是一款UI调试神器,对iOS开发非常有帮助。我们使用的是Version 4 (8796)的版本。

1.2 reveal安装

电脑端文件现在无法上传,需要的联系我吧在这里插入图片描述

1.3 环境配置

导入dylib文件
由于新版本的Reveal只有Framework文件,所以需要修改Framework的可执行文件为dylib库
找到相关库,电脑端的reveal,help下查找如下图
在这里插入图片描述
在这里插入图片描述
在手机的/Library 目录下新建目录 m k d i r R H R e v e a l L o a d e r 将 电 脑 中 的 可 执 行 库 拷 贝 到 i P h o n e 目 录 中 mkdir RHRevealLoader 将电脑中的可执行库拷贝到iPhone目录中 mkdirRHRevealLoaderiPhonescp -r –P 12345 RevealServer root@localhost:/Library/RHRevealLoader/libReveal.dylib
重启手机(目前版本的Reveal不支持USB连接,必须让手机和Mac保持统一局域网)

2.debugserver
2.1 debugserver概述

我们Xcode中的lldb可以调试手机中的应用,是因为手机中的debugserver开启的相关服务。所以在越狱环境中,我们只需要开启debugserver服务就可以利用LLDB远程调试三方应用了。

2.2 debugserver原理图

在这里插入图片描述
在这里插入图片描述

2.3 debugserver位置
在这里插入图片描述
2.4 将debugservercopy到手机中

在这里插入图片描述手机中查看copy进来的debugserver和 用debugserver附加应用程序
在这里插入图片描述
电脑端输入lldb指令启动lldb,连接手机中应用,附加程序
在这里插入图片描述
连接后输入,image list, c ,exit ,pvc,process interrupt断点,等指令查看调试信息
在这里插入图片描述
在这里插入图片描述

2.5 微信登录和抢红包调试实例

po 地址
断下来 pviews 视图层
调试微信登陆界面 , 搜索“登录”,找出button,viewcontroller
在这里插入图片描述
在这里插入图片描述
找到onnext方法,下断点,进行断点调试
在这里插入图片描述
bt
sbt
c
sbt
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
物理地址减去首地址就是偏移地址
在这里插入图片描述
在这里插入图片描述
把 frida出来的包 拖到 hopper中
过程漫长
在这里插入图片描述
在这里插入图片描述
读完保存
减去4个字节 hopper 函数头名称
在这里插入图片描述
aslr imagelist里面取 然后减去 前面的0 减去前面位置的1 去掉pagezero 因为 或是 aslr 或是 文件地址 都含pagezero 需减去一次 在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.Class-dump
3.1 Class-dump概述

Class-dump是一个命令行工具,它通过查找MachO文件的相关段可以导出未经加密的APP的头文件。
在逆向开发中,砸壳之后的第二件事就是使用它导出头文件

3.2 Class-dump 安装和使用

安装
官网:http://stevenygard.com/projects/class-dump/
下载class-dump $ git clone https://github.com/nygard/class-dump 拉下来
编译项目,生成命令行工具。直接使用。
将命令行工具导入/usr/local/bin/class-dump , 上权限 $sudo chmod +x class-dump
命令格式:
单一架构
c l a s s − d u m p – H M a c h O 文 件 − o 头 文 件 存 放 目 录 多 种 架 构 加 上 − − a r c h 架 构 如 a r m 64 : class-dump –H MachO文件 -o 头文件存放目录 多种架构 加上- - arch 架构 如arm64: classdumpHMachOoarcharm64class-dump --arch arm64 –H MachO文件 –o 头文件存放目录

3.3 安装成功

在这里插入图片描述配置的环境位置在这里插入图片描述
monkey工程中的设置:
新建monkey工程 building中搜索monkey 设置 class -dump 一定是砸壳过的,运行时候直接会在项目的目录下导出headr文件
在这里插入图片描述
4.命令行工具的生成
新建一个xcode工程,在main函数中,删除原来的代码,直接在mian函数中,打印或者改造成下面的样子,
在这里插入图片描述
building后生成可执行文件,file 改文件查看,文件为arm64,可以看到电脑端由于cpu架构无法执行改文件,所以我们将其copy到手机端,执行,如下
在这里插入图片描述
在这里插入图片描述
可以发现如执行debugserver一样,如是这样以后我们也可以方便自己写生辰命令行工具了

4.lldb手动砸壳

查看微信包,cryptid 1 说明没有砸过客壳,cryptsize说明数据段中加密的数据是这么多,前面是头没有加密的,我们如果加密的数据解出来,替换砸过壳的包中的这段数据,在这里插入图片描述
强制读出这段数据的二进制的数据包
在这里插入图片描述
替换原来包中的内容,在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值