ios debug 线上app

转载 2015年11月17日 17:30:00

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]


要是有工具就更好了

相关文章推荐

iOS 动态改变线上app JSPatch技术

根据几天的查阅资料得知,现在动态的修改线上app的方法大概有两种,一种是利用JSPatch,另一种是添加动态库,不过添加动态库的方法iOS 8之前好像有风险,现在主要介绍JSPatch: 以下文章摘...

iOS app崩溃率,如何解决线上闪退

//联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄 1.如何追踪app崩溃率,如何解决线上闪退 当iOS设备上的App应用闪退时,操作系统会生成一个crash日志,...

iOS友盟崩溃地址解析 通过dSYM文件分析定位线上 APP crash问题

有很多问题是在开发测试过程中无法遇到和重现的,这就需要统计线上的崩溃信息进行定位。什么是 dSYMXcode编译项目后,我们会看到一个同名的 dSYM 文件,dSYM 是保存 16 进制函数地址映射信...

iOS 【使用 dSYM 符号集对线上 App 进行崩溃修复】

如何解析线上 App 复杂的崩溃日志。

开发工具系列(一):Btrace——线上Debug工具

Btrace Btrace用于调试正在运行的系统,并且在调试时不会暂停系统。特别适用于跟踪线上问题。你可以实时监控一个系统中任何一个方法的调用,你可以知道这些方法的参数、返回值是什么,还可以知道...

Linux线上系统程序debug思路及方法

很多程序长期在线上系统跑着,可能跑着跑着就coredump了,而这种bug比较难复现,这个问题估计困扰不少同行朋友,这里记录一下我的一些思路,如有不对之处,欢迎指正。 1、coredump文件    ...

iOS 项目上线上传流程

  • 2015-10-23 20:27
  • 4.84MB
  • 下载

利用线上数据提升移动app质量

利用线上数据提升移动app质量1 线上数据测试模型1.1背景 随着移动互联网的发展,移动app质量要求越来越高, 传统行业质量的保证方式是测试人员在app开发过程中进行阶段性的测试,这种测试方式我...

线上app日志查询

对于我们iOS开发者来说,最心碎的事莫过于苹果审核一个星期后上架app store,而第二天就报出闪退bug。一周前我刚经历过,而且最坑的是由于第一次做个人开发,经验不足,没有集成友盟的分析SDK,还...

透過Ad Hoc方式發佈APP供測試使用 (iTune以及線上安裝)

1. 首先先進入 developer center 申請新的 profile 2. 申請完後下載並執行 3. 接著進入xcode 專案 build 設定內,指定剛安裝的 profile 名...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)