LLDB调试第三方app

先要用xcode新创建一个项目连接手机调试它,这样手机上就会有debugserver程序,如图所示。

会在/Developer/usr/bin下如图所示。

因为他目前不能调试其它app,因为没有task_for_pid权限。先把它拷贝到电脑上。
在同级目录创建一个pist文件。如图所示。

entitlements.plist

<?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>

重新签名它。
codesign -s - --entitlements entitlements.plist -f debugserver

上传到手机 /usr/bin下。选择一个进程调试它如图所示。


mac上转发端口
iproxy 1234 1234
最后连接。输入lldb进入ldb,输入process connect connect://localhost:1234
同时查看查看模块和加载基地址。

查看调试堆栈。

原文地址:https://blog.51cto.com/haidragon/2396785

时间: 2024-07-30 08:37:59

LLDB调试第三方app的相关文章

在非越狱设备上使用 LLDB 调试第三方 App

说明 这个方法是在 iOS 8 刚发布的时候想到的,当时主要用来在非越狱的 iOS 8 设备上调试分析第三方已经支持 iOS 8 的 App,比如:UC 浏览器,下面也会使用 UCWEB 为例来说明一些命令. 原理 谈不上原理,主要就是利用 xcode 的工具链,当然如果对证书.签名.Entitlements 比较熟悉,可能会很自然的想到这个方法.当时想到方法后,就在 github 上搜索了一下发现已经有人写了相关的工具,下面跟大家说下具体如何操作. 工具 ios-deploy:https://

iOS逆向工程之使用LLDB的USB连接调试第三方App

LLDB是Low Level Debugger的简称,在iOS开发的调试中LLDB是经常使用的,LLDB是Xcode内置的动态调试工具.使用LLDB可以动态的调试你的应用程序,如果你不做其他的额外处理,因为debugserver缺少task_for_pid权限,所以你只能使用LLDB来调试你自己的App.那么本篇博客中就要使用LLDB来调试从AppStore下载安装的App,并且结合着Hopper来分析第三方App内部的结构.LLDB与Hopper的结合,会让你看到不一样的东西,本篇博客就会和你

xcode通过脚本调试第三方app

先创建一个与要调试的app名称相同的项目(不是必须,但是要修改脚本)然后就是在同一个目录下创建相应的目录.这个不是必须修改脚本就是了.第一个目录(TEMP)是放已经解密的app第二个目录APP目录是生成后会拷贝到这里的.里面不要放东西.脚本如下: #${SRCROOT} 它是工程文件所在的目录 TEMP_PATH="${SRCROOT}/Temp" #资源文件夹,我们提前在工程目录下新建一个app文件夹, 里面放ipa包 ASSETS_PATH="${SRCROOT}APP&

iOS中教你快速掌握LLDB调试技巧

摘要 LLDB是Xcode默认的调试器,它与LLVM编译器一起,带给我们更丰富的流程控制和数据检测的调试功能.平时用Xcode运行程序,实际走的都是LLDB.熟练使用LLDB,可以让你debug事半功倍. LLDB控制台 Xcode中内嵌了LLDB控制台,在Xcode中代码的下方,我们可以看到LLDB控制台. LLDB控制台平时会输出一些log信息.如果我们想输入命令调试,必须让程序进入暂停状态.让程序进入暂停状态的方式主要有2种: 1. 断点或者watchpoint: 在代码中设置一个断点(w

lldb调试器知多少

lldb调试器简介 lldb 是一个有着 REPL 的特性和 C++ .Python 插件的开源调试器.lldb调试器的由来是伴随着Xcode的版本升级而来. Xcode4.3之前使用的默认调试器是gdb, 到Xcode4.3之后便改成了lldb.gdb是UNIX及UNIX-like下的调试工具,是来自于GNU组织. 后被苹果进行优化,功能添加后,改名为lldb.可以说lldb是gdb的高版本. lldb调试器是一个可执行Mach-O文件,因为通常是和xcode集成在一起,会让人误以为是xcod

【转】浅谈LLDB调试器

随着Xcode 5的发布,LLDB调试器已经取代了GDB,成为了Xcode工程中默认的调试器.它与LLVM编译器一起,带给我们更丰富的流程控制和数据检测的调试功能.LLDB为Xcode提供了底层调试环境,其中包括内嵌在Xcode IDE中的位于调试区域的控制面板,在这里我们可以直接调用LLDB命令.如图1所示: 图1:位于Xcode调试区域的控制台 在本文中,我们主要整理一下LLDB调试器提供给我们的调试命令,更详细的内容可以查看The LLDB Debugger. LLDB命令结构 在使用LL

酷开 5.5 版本安装第三方app

有参考价值的话,记得给评论和赞哟 客服的官方说法是,广电总局不让,所以他们没办法.!!气人!! 网络上检索了几个方法,可惜面对的是 5.5 版本,不行! 1)应用圈里找 小白文件管理器, 或者ES文件管理器. --- 已经找不到了. 2)把老版本的更新文件拷贝到USB,倒回老版本. --- 5.5版本连zip文件都忽略了,无解. 最后,从网上知道了工厂模式(上上下下左右左右)之后,把adb 调试给打开了. 之后就很简单了. adb connect 192.168.1.5 #确认一下是否连上 ad

学习笔记之--认识Xcode中的重要成员:lldb调试器

之前对lldb调试器了解比较少,平时主要用来打印日志和暂定时用鼠标查看属性数据以及使用p po一些简单的命令语句. 今天看了一些关于lldb的文章,顿时觉得之前对它了解太少了,原来它还有那么多的功能. 好记性不如烂笔头,我把方便易用的命令记录下来,方便以后查看. 一.ldb的语法结构 lldb的语法结构如下:<command> [<subcommand> [<subcommand>...]] <action> [-options [option-value]

使用Python脚本强化LLDB调试器

LLDB是Xcode自带的调试器,作为一个iOS应用开发程序员,平时我在开发应用时会使用LLDB来调试代码.在逆向应用时,也会用到LLDB来跟踪应用的执行过程. LLDB还内置了一个Python解析器,使用Python脚本可以方便LLDB的调试,比如自动化执行一些命令,或者自动化处理数据之类的,具体说明可以参考官方的文档:LLDB Python Reference. 以下就以一个具体的例子来演示一个Python脚本的编写过程: 一.获取方法的偏移地址 运行系统自带的计算器Calculator.a