关闭

ios debug 线上app

252人阅读 评论(0) 收藏 举报
分类:

1、越狱


2、安装必备软件

openssl、Darwin CC Tools等


3、解密app
DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/mobile/Applications/XXXXXX/Victim.app/Victim #(要debug的应用二进制文件)
会在当前目录下生成一个.decrypted的文件。


4、分离(这个在电脑上执行)
lipo -remove 去掉设备不用的构架


5、签名(又好像不用)
忘了命令了


6、替换设备上原来的二进制代码包


7、ida分析
电脑上打开那个二进制包,分析很久
(据说ida有远程调试功能,我一直没成功)


8、寻找关键函数,(ida可以找出oc函数)


9、准备远程调试工具debugserver
用xcode调试过设备,设备上应该就有,在/Developer/usr/bin/下面,弄到电脑上来操作
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0"> 
<dict> 
    <key>com.apple.springboard.debugapplications</key> 
    <true/> 
    <key>run-unsigned-code</key> 
    <true/> 
    <key>get-task-allow</key> 
    <true/> 
    <key>task_for_pid-allow</key> 
    <true/> 
</dict> 
</plist>
存为entitlements.plist
codesign -s  - --entitlements entitlements.plist -f debugserver
传回设备,不要覆盖原版


10、设备端开启调试
debugserver *:1234-a"xxx"#(上面处理过的二进制包)


11、电脑端lldb连接
运行lldb,然后:
processconnectconnect://设备ip:1234


12、找偏移地址(可能要运行两下,刚开始二进制包没加载)
image list -o-f
记下开头的地址


13、打断点
br s-a'(上面的偏移地址) + (ida中找到的关键语句地址)'
运行到断点处


14、查看数据(目前只会查看寄存器)
re r 查看所有寄存器
然后po 地址,如果是oc对象,就直接把内容打印出来了,还可以执行oc语句,如:
po [[UIApplication sharedApplication] delegate]


要是有工具就更好了

0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:10408次
    • 积分:206
    • 等级:
    • 排名:千里之外
    • 原创:7篇
    • 转载:13篇
    • 译文:1篇
    • 评论:0条
    文章分类
    最新评论