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的线上性能监测

原文地址:http://www.cnblogs.com/dsxniubility/p/5493117.html 在移动端开发者中最重要的KPI应该是崩溃率。当崩溃率稳定下来后,工作的重心就应该转...

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

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

iOS 动态改变线上app JSPatch技术

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

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

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

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

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

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

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

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

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

iwebshop的debug的调试方法以及config文件在线上的修改

当sql 语句异常时,打开config文件的config.php文件把debug改为true。 就会出现具体的那个文件以及第几行的问题。 当config文件和SVN服务器不同步时,...

iOS 项目上线上传流程

  • 2015年10月23日 20:27
  • 4.84MB
  • 下载

Android App 线上热修复方案

热修复一词恐怕最早应用在微软。为了巩固其windows系统和office的市场占有率,微软开发并维护了一套线上修复方案,用于修复漏洞及特定问题(LDR),避免延续到发版解决(GDR),详见HotFix...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ios debug 线上app
举报原因:
原因补充:

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