IOS逆向-动态调试

article/2025/10/19 13:54:15

文章目录

      • LLDB
      • Xcode
        • 重新签名版本调试(手动) ✅
        • 重新签名版本调试(自动)
        • 不重新签名版本调试

LLDB

  1. Xcode -> Attach -> 点击 || 按钮 -> 使用lldb
  2. 终端
    1. 手机/Developer/usr/bin/debugserver localhost:2233 /var/containers/Bundle/Application/*/*/xxxx
    2. 电脑 lldb -> init

Xcode

重新签名版本调试(手动) ✅

  1. 建立 XCode 工程 -> IOS -> APP(Product Name最好一致)
    在这里插入图片描述
  2. 找到Build Phases Tab
  3. 点击+号,new run script phases
# Type a script or drag a script file from your workspace to insert its path.
cp -r "${SRCROOT}/Target/xxxx.app" "${BUILT_PRODUCTS_DIR}/"
  1. cd xxxxx 主目录
  2. mkdir Target
  3. cp -r /tmp/xxx.app ./Target/xxx.app (已脱壳)
  4. mv ./Target/xxx.app/Info.plist ../xxx/Info.plist
  5. rm -r Watch PlugIns
  6. Info.plist 里把 bundle Id 改成 $(PRODUCT_BUNDLE_IDENTIFIER)
  7. 点击Xcode -> Clean build Folder
  8. 点击▶️ Build & Run

重新签名版本调试(自动)

  1. 安装theos sudo git clone --recursive https://github.com/theos/theos.git /opt/theos
  2. 安装ldid brew install ldid
  3. 安装MonkeyDev sudo /bin/sh -c "$(curl -fsSL https://raw.githubusercontent.com/AloneMonkey/MonkeyDev/master/bin/md-install)"
  4. Xcode->File->New project->选择IOS-> 选择MonkeyApp
  5. TargetApp文件夹放入脱壳的app

不重新签名版本调试

前提: 需Patch debuggerserver

  1. Xcode->ios->app->Product Name尽量一致
  2. Product->Build
  3. 左边栏找到Products文件夹->右键文件夹打开
  4. 替换xxxx.app (注意: 必须是原始app,不能是脱壳app)
  5. Product->Perform Action-> Run Without Building
  6. 调试开始

http://chatgpt.dhexx.cn/article/LN4OkwXA.shtml

相关文章

IOS逆向初探

前言 这些文章用于记录学习路上的点点滴滴,也希望能给到刚入门的小伙伴们一点帮助。爱而所向,不负所心。 环境 iphone 6 MacOS Monterey 12.3.1 一、IOS开发语言 Objective-C Objective-C是iOS操作系统运用的软件开发语言。Objective-C的流行完全是因…

移动App入侵与逆向破解技术-iOS篇

如果您有耐心看完这篇文章,您将懂得如何着手进行app的分析、追踪、注入等实用的破解技术,另外,通过“入侵”,将帮助您理解如何规避常见的安全漏洞,文章大纲: 简单介绍ios二进制文件结构与入侵的原理介绍入侵常用的工具和方法,包括pc端和手机端讲解黑客技术中的静态分析和…

C#应用程序与MATLAB联合编程

本文主要结合C#编写应用程序方便强大和MATLAB在工业科学界的广泛应用,结合两者的优点,利用C#编写的windows桌面应用程序作为UI交互接收用户配置,并根据用户在前端应用界面的操作自动控制MATLAB运行,并将MATLAB计算的结果返回桌面应…

编程输出中文变问号的解决办法

问题是出现在windows的dos显示设置上。 如何解决这个问题? 1.打开运行,输入cmd; 2.界面顶部右键,option中选择默认值; 3.将437(OEM-美国)改为936(ANSI/OEM-简体中文GBK) …

Python入门(二)-编程环境

本章重点介绍 Python 编程环境的搭建,包括各个平台下 Python 的下载和安装,常见 IDE 的使用,如何运行 Python 程序等。我还会亲自带着大家编写并运行第一个 Python 程序,让大家认识一下最简单的 Python 代码。 本章的后半部分还介…

数模混合信号建模语言Verilog-AMS

混合信号建模语言Verilog-AMS 很多人做模拟电路的朋友,都希望有一款“模拟FPGA”,希望有一个“模拟的Verilog”,但现实是没有“模拟的Verilog”只有混合信号建模语言-Verilog-AMS,今天就简单介绍一下-Verilog-AMS。 为了便于物理系…

Java入门-Java语言概述

1、Java语言基本概述 1.1、什么是计算机编程语言 人与人之间是如何沟通的呢?从小父母就教会我们说话,在长期的熏陶和自我学习中,我们就学会了普通话,学会了表达自己的需求,父母收到我们的信号或者听到我们的要求也会尽…

Python 批量下载BiliBili视频 打包成软件

文章目录 一、项目概述1.项目背景2.环境配置下载ffmpeg设置环境变量 二、项目实施1.导入需要的库2.设置请求参数3.基本处理4.下载视频5.视频和音频合并成完整的视频6.3种下载方式的分别实现7.主函数 三、项目分析和说明1.结果测试改进说明2.软件打包3.改进分析4.合法性说明 如有…

Java 之父 James Gosling 最新访谈:JIT 很好,但不适合所有语言

计算机编程确实是一门艺术。 James Gosling,“Java 之父”, 完成了 Java 的原始设计,并实现了 Java 最初版本的编译器和虚拟机。 90年代初,James Gosling和一群技术人员合作“绿色计划”,创建了一个名为Oak的项目,旨在…

Python语言概述及其运行机制详解

即日起,我们将打开一个新的编程世界的大门——Python语言。Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独…

go语言开发环境搭建

Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。 Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C代码的速度,而且更加安全、支持并行进程。 学习Go一部分是兴趣,一部分是…

汇编语言程序运行过程分析

实验项目程序运行过程分析综合性实验2020年11月 18日 一、实验综述 1.实验目的及要求 (1)掌握程序执行具体过程 (2)构建汇编语言的运行环境 (3)掌握汇编语言的编译连接过程 (4)掌…

【x86汇编】第六章 输出/输出和win32编程

文章目录 输入/输出指令和数据的传送方式输入/输出指令输入指令IN输出指令OUT串输入指令INS串输出指令OUTS 数据的传送方式无条件传送查询传送直接存储器中断传送 中断与异常中断的概念不可屏蔽中断 NMI可屏蔽中断 INTR除法出错溢出调试异常(单步)软中断…

总算编译通过了《自制编程语言》一书里的代码!

起初按照书里的说明来搭建Windows下的环境,卡在下载和编译正则表达式库“鬼车”的地方,后来留言给作者,才知道这个库已经转移到github上了(2018年4月25时点:https://github.com/kkos/oniguruma)&#xff0c…

脑语言v0.5.8 2500令【单字编程】

脑语言v0.5.8 2500令【单字编程】 【号】【单字】【多字】【英文】 1 1脑 脑语言 naoyuyan 2 配 配置 config 3 班 班级 grade 4 令 指令 command 5 述 描述 description 6 横 ■横 ■x 7 纵 ■纵 ■y 8 深 ■深 ■z 9 宽 ■宽 width 10 高 ■高 height 11 撑 缩放…

p4 编程语言环境配置

文章目录 前言建议直接看第二种方法第一种方法:p4官方教程里的方法(不建议,我没安装成功)1.1 下载并安装 Virtual Box1.2 下载并安装 Vagrant1.3 利用 Vagrant 安装虚拟机 第二种方法:直接导入已经配置好的虚拟镜像文件…

Python学习笔记 - Python语言概述和开发环境

一、Python简介 1.1 Python语言简史 Python由荷兰人吉多范罗苏姆(Guido van Rossum)于1989年圣诞节期间,在阿姆斯特丹,为了打发圣诞节的无聊时间,决心开发一门解释型程序语言。Python语言基于ABC教学语言开发的。1991年第一个Python解释器公…

西门子plc如何用c语言编程软件下载,s7一200编程软件下载安装

s7-200编程软件是专为西门子s7-200系列可编程控制器而设计开发的一款工业化编程工具,该工具基于Windows系统而开发,功能强大,既可用于开发用户程序,又可实时监控用户程序的执行状态,是西门子PLC用户不可缺少的开发工具。 软件特色 1、简单、易学,能够解决复杂的自动化任务…

2019常用的几种编程语言的简单介绍和特点以及应用领域

常用编程语言的特点以及应用 编程语言有很多种,以下就是对一些常用的编程语言的简单介绍和特点以及他们的一些应用领域。希望对你能有所帮助。 在介绍各种编程语言前,我们先来看一下下面这个图,从图中可以明显看出来,当前应用最…

【编程实践】编程语言之 Smalltalk

目录 Smalltalk 简介 什么是Smalltalk 理解Smalltalk 基础语法 方法与类 代码块 控制流