首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

免越狱调试与分析黑盒iOS应用

获取目标 在上篇文章中其实有说了,开发者在编译iOS或者MacOS项目,最终生成应该是.app文件, 但在iOS中还需要对app文件进行打包,生成.ipa文件。...applications from memory to disk frida-ios-dump 砸壳操作本质是在运行时从内存里将原始文件导出,因此都需要有源程序上下文中执行代码能力, 也就是说,...ipa签名 苹果要求ipa需要经过签名才能部署,Xcode7后可以使用个人Apple ID来进行provision签名, 用于自己设备对应用进行测试。...签名完成后ipa就可以部署到真机上了,比如用我们一篇文章说到ios-deploy: ios-deploy -b pp2048-resign.ipa 安装成功!...交叉编译 现在我们已经(Mac)验证了向二进制文件中注入动态库可行性,接下来就是iOS了。 和Mac不同是,iOS应用一般是ARM/ARM64版本,因此x86笔记本,就需要交叉编译。

1.6K40

二、应用脱壳

/Clutch root@localhost:/usr/bin # iOS执行 $ chmod +x /usr/bin/Clutch iOS设备输入Clutch命令,如果输出了帮助信息则表示安装配置成功...值得一提是,最终脱壳出文件架构和使用iOS设备有关,如笔者设备脱壳出来是ARM64架构,如果放到ARMv7架构设备是不能正常运行。...6.3 ipa文件安装失败处理 如果将脱壳后ipa文件安装到不同类型设备,有可能会出现DeviceNotSupported错误。这是因为设备支持列表中没有目标设备类型。...将ipa文件解压,找到Info.plist文件UISupportedDevices项添加自己设备类型(或者直接删除UISupportedDevices项)。...将处理后Info.plist文件重新打包放入ipa文件安装即可。 七、使用lipo分离架构 前文已经说过了,最终脱壳出文件架构和使用iOS设备有关。

1.3K10
您找到你想要的搜索结果了吗?
是的
没有找到

iOS应用构建与部署小结

xcrun simctl list devices # 打开并启动设备 open -a Simulator --args -CurrentDeviceUDID $UDID # 启动设备安装我们应用...Xcode7以后,开发者可以只用自己Apple ID来自己设备运行iOS应用,设置如下: imgSign.jpg 这样就可以通过USB物理机上运行iOS应用了,不过要注意是第一次启动时会提示不可信开发者...iPhone applications from memory to disk frida-ios-dump 当然这些都是需要越狱非越狱机器可以通过iMazing提取,热门应用可以直接在第三方应用商店下载...由于AppStore审核很严格,很多私人用或者不合规iOS软件都是通过OTA部署形式分发, 并且会在安装说明中指引用户去设置->通用->描述文件设备管理中手动点击信任该个人/企业开发者。...其他 除了上述方式,还有一些开源脚本可以帮助我们安装部署自己应用,如ios-deploy, 只要连接USB输入以下命令即可安装: $ ios-deploy -b HelloWorld.ipa [...

1.9K40

iOS开发(1)iOS签名机制

、256bit三种 2000年选择Rijindael算法作为AES实现 目前AES,已经逐步取代DES、3DES,成为首选对称密码算法 一般来说,我们也不应该去使用任何自制密码算法,而是应该使用...1、iOS签名机制 – 流程图 38.png 2、iOS签名机制 – 生成Mac设备公私钥 CertificateSigningRequest.certSigningRequest文件 就是Mac...设备公钥 39.png 3、iOS签名机制 – 获得证书 40.png 4、ios_development.cer、ios_distribution.cer文件 利用Apple后台私钥,对Mac设备公钥进行签名后证书文件...文件夹,拓展名是appex)、WatchApp(Watch文件夹)都需要重新签名 重签名打包后,安装设备过程中,可能需要经常查看设备日志信息 程序运行过程中:Window -> Devices...动态库加载路径 Mach-O文件 有2个常用参数选项 --weak,即使动态库找不到也不会报错 --all-yes,后面所有的选择都为yes insert_dylib本质是往Mach-O文件Load

1.5K30

iOS逆向-ipa包重签名及非越狱手机安装多个微信

逆向当中一些专业术语 加壳:利用特殊算法(iOS中数字证书),对可执行文件编码进行改变,以达到保护程序代码目的 脱壳:摘掉壳程序,将未加密可执行文件Mach-o还原出来 查看应用是否加壳 将下载好...ipa包解压缩之后,拿到里面的Mach-o文件,cd到所在目录,执行如下命令: otool -l 可执行文件路径 | grep crypt ?...,比如:可以利用sigh resign命令,终端下操作,还可以借助一些逆向相关重签名工具,本文采用iOS App Signer 了解以上基本概念之后,下面正式开始史上最详细重签名过程,以微信为例:...注意:利用iOS App Signer重签名,删除掉相应Extension,选择路径时候,一定要选择Payload文件夹下对应.app文件,否则会报找不到Payload文件错误: ?...安装重签名之后微信 可以用PP助手安装,也可以用Xcode安装,我采用Xocde安装: ? 不出意外地话,第二个微信就成功安装到了你手机上。如果装不的话,基本大部分原因就是证书不对。。。

3.4K40

iOS安装包体积优化

Android apk体积检测方案,有开源Matrix-Android-ApkChecker,那iOS端要如何更深入检测ipa安装小大呢?我们从两个方向着手。...link map文件了,但是默认生成路径比较深,我们可以run之前,自行修改生成路径,方便之后查找文件,如下图 Linkmap文件结构 Path是可执行文件路径,Arch是架构类型。...上图中Object files,这里展示信息是链接用到文件,包括.o文件和dylib库。第一列序号是类编号,通过该编号可以对应到具体类。...分析并获取结果 参考LinkMapParser开源脚本,针对自己应用进行修改,最后对比结果如下: iPA 文件 分析ipa文件 除了通过linkmap文件分析之外,和开发沟通中,还提出了对..." base_root_path=$1 target_root_path=$2 echo "一版本文件目录:${base_root_path}"; echo "当前版本文件目录:${target_root_path

80630

iOS 裁包大作战 —— JOOX Music 如何瘦身40MB

\]\s*;\s*(\n*\s*//[^/|\n]*\n)*\s*\}2.1.2 通过反编译获取无用类以及方法2.1.2.1 Mach-O我们先来简单了解一下我们编译出来可执行文件iOS 可执行文件都是...需要注意是,每次扫描代码进行匹配,需要剔除注释。那还有没有其他更好办法呢?...具体实现参见 《iOS微信安装包瘦身》2.4 长文本、数据移到外部文件通过对 Mach-O 了解,可以得知代码里字符串常量是放在可执行文件 __cstring 段,如果有特别长字符串、数据等,建议从代码中移除...查看工具:MachOView统计项目 .o & .a 文件体积:linkmap.js参考文献:iOS微信安装包瘦身iOS可执行文件瘦身方法iOS APP可执行文件组成基于clang插件一种iOS包大小瘦身方案...Xcode中和symbols有关几个设置Mach-O可执行文件解读 Mach-O 文件格式减小ipa体积之删除frameWork中无用mach-O文件WebP 探寻之路Android APK瘦身-JOOX

82240

appuploader 架详解大全(

如果apple检测到ipa有问题,是不会出现在app管理后台中,就会出现大家经常遇到apple app管理中心找不到版本 不是等待上传状态 这是因为bundle id不正确导致。...一篇IOS证书制作教程下一篇 IOS描述文件制作教程iOS描述文件(.mobileprovision)一键申请 主界面上点击描述文件按钮。 ...点击框框下面的添加测试,然后把测试设备udid输入,把ios设备连接到当前pc,会自动获得设备udid。...ipa文件,上传不了  一篇IOS描述文件制作教程下一篇 2022 ios APP最新开发测试教程2022 ios APP最新开发测试教程 1.本文详细介绍最新windows上进行ios app开发编译打包安装到手机测试完整流程...如果app编译后无法安装设备,可能是因为设备udid没有添加进入描述文件,则需要添加描述文件后重新编译。  一篇上传了ipa但iTunes Connect没有构建版本问题

1.2K20

appuploader 架详解大全(

如果apple检测到ipa有问题,是不会出现在app管理后台中,就会出现大家经常遇到apple app管理中心找不到版本 不是等待上传状态 这是因为bundle id不正确导致。...一篇IOS证书制作教程​​​​下一篇 IOS描述文件制作教程iOS描述文件(.mobileprovision)一键申请​​ 主界面上点击描述文件按钮。  ​​...点击框框下面的添加测试,然后把测试设备udid输入,把ios设备连接到当前pc,会自动获得设备udid。...ipa文件,上传不了 ​​ 一篇IOS描述文件制作教程​​​​下一篇 2022 ios APP最新开发测试教程2022 ios APP最新开发测试教程​​ 1.本文详细介绍最新windows上进行...如果app编译后无法安装设备,可能是因为设备udid没有添加进入描述文件,则需要添加描述文件后重新编译。 ​​ 一篇上传了ipa但iTunes Connect没有构建版本问题​​

98430

Xcode 常见 CLI 工具

并且并不是只有开发 Apple 应用程序才需要用到这些工具包,当我们使用Homebrew安装一些python库或者js库,都会提示需要Command Line Tool。...因为DWARF存在我们才可以 debug 看到函数名称等信息,因为dSYM文件存在,我们才可以符号化,解 Crash。 关于符号解析之前有过一篇文章 iOS 符号化解析。...# 查找指定地址相关信息 # 一般用在Crash解析 dwarfdump --arch arm64 --lookup 0x100006694 iOSTest.app.dSYM 更多命令可见...Mach-O 操作相关 其实关于 Mach-O 操作大部分工具都是 LLVM 下面的,包括otool、objdump、nm、dwarfdump等等,其命令本质都是一个替身,背后实际都是llvm-XXX...Mach-O 文件 Objective-C 运行时信息。

3.2K21

iOS强化 : 熟悉 Mach-O 文件

前言 ---- 关于 Mach-O 文件iOS App 加载流程知识中已经提到过。 整体结构大致如下: ?...Mach-O 定义 ---- Mach-O(Mach Object)是 macOS、iOS、iPadOS 存储程序和库文件格式。...那么下面我们先进行文件拆分: 拆分 Fat binary linpo mach-o文件名 -thin 要拆分架构名 -output 拆分出来文件名 拆分前ipa包内容: ?...拆分后ipa包内容: ? ⚠️ 拆分后源文件并不会发生改变,类似于从源文件中copy出来一个架构单一二进制文件,注意这里不是单独分离架构。 ?...__TEXT段之后 注释 OC 引用父类列表 ⚠️ 这里有一点大家需要注意,系统库方法我们自己Mach-O文件里面是找不到,它存放在共享缓存区。

1.1K40

ios-class-guard - iOS代码混淆与加固实践

是从 AppStore 上下载,都是经过签名加密,需要先进行砸壳 1. class-dump 原理 利用 Objective-C 语言 runtime 特性,将存储 Mach-O 文件...对 Mach-O 文件进行静态扫描,通过文件地址分析出类、方法名字,然后通过宏定义替换方法成无序随机字符串来达到混淆效果 三、ios-class-guard 混淆结果 使用 ios-class-guard...symbols.json -O 输出定义混淆符号文件 ios-class-guard 不支持 Swift ios-class-guard 工具 Github 不支持 Swift,遇到带...Ipa Guard是一款功能强大ipa混淆工具,不需要ios app源码,直接对ipa文件进行混淆加密。可对IOS ipa 文件代码,代码库,资源文件等进行混淆保护。...,这里可是会用到,如果不用,则包安装包可能会出现问题 选择导出签名包,选择签名文件输入密码,然后点击开始导出 ​ 导出包是经过混淆,经过加固比较安全包了 ​

43410

class dump使用方式和原理

/usr/bin/class-dump 然后要求输入密码 输入class-dump 出现如下图 ​ 则表示安装成功了 在任何一个目录里都可以正常使用class-dump了 二、使用 class-dump...这边以ipaguard为例,目前还在免费阶段,想薅羊毛快快试试。 Ipa Guard是一款功能强大ipa混淆工具,不需要ios app源码,直接对ipa文件进行混淆加密。...可对IOS ipa 文件代码,代码库,资源文件等进行混淆保护。 可以根据设置对函数名、变量名、类名等关键代码进行重命名和混淆处理,降低代码可读性,增加ipa破解反编译难度。...,这里可是会用到,如果不用,则包安装包可能会出现问题 选择导出签名包,选择签名文件输入密码,然后点击开始导出 ​ 导出包是经过混淆,经过加固比较安全包了 但可以对自己编写app进行dump,同时也可以...研究完Mach-O文件内部揭秘中就可以回答这个问题 Mach文件结构里data部分,就只有类名称和类方法,class-dump自然是根据Mach文件结构来分析

25610

iOS Class Guard github用法、工作原理和安装详解及使用经验总结

安装如果没有安装brew 先安装之,终端内执行这 . 工具安装目录为/usr/local/bin。...保存包含symbol映射json文件 以便于crash能逆向得到原来symbol ​ curl -LsSf http://github.com/mxcl/homebrew/tarball/master...bundle,一定要忽略这些symbol,否则你启动app,他们不会再有效。...Ipa Guard是一款功能强大ipa混淆工具,不需要ios app源码,直接对ipa文件进行混淆加密。可对IOS ipa 文件代码,代码库,资源文件等进行混淆保护。...,这里可是会用到,如果不用,则包安装包可能会出现问题 选择导出签名包,选择签名文件输入密码,然后点击开始导出 ​ 导出包是经过混淆,经过加固比较安全包了 ​

22910

ios重签名教程

脱壳之后就可以进行分析代码、修改代码重签名之后可以安装设备。...,根据iOS设备版本安装对应frida服务端 选择安装 我选择是frida for pre-A12,iPhone6s是A9处理器 frida使用 查看frida版本号 正确显示版本号说明正确安装了...ios端口 tcprelay.py -t iOS端口:mac端口 python tcprelay.py -t 22:2222 执行命令查看是否连接 ssh root@localhost -p...文件 用系统自带归档实用工具进行解压就得到xcode安装程序,把程序拖到Applications进行打开 1.保证存储空间 20G 2.去除解压验证 xattr -d com.apple.quarantine...,要在xcode创建项目,正常运行安装到手机 可能会遇到id重复,修改下id就可以了 对应真机版本不一致General-Deployment Info 中修改就可以 id重复了General-Identity

1.3K30

mach-o文件分析多余类和方法

)来自iOS微信安装包瘦身 上面那些话看起来简简单单,但是笔者操作起来确遇到了很多困难,首先otool是什么?...文件获取:Xcode打包好iPA,改后缀名为.zip,然后解压缩得到payload文件夹,其中有xxx.app,右键显示包内容,其中有xxxexec文件,即是Mach-O文件。...[WX20210511-182718.png] 参考LinkMap项目的symbolMapFromContent方法实现,笔者发现,它匹配是读取文件,然后单行单行,匹配文案,设置标记位,从而解析对应信息...参考 otool 工具分析可能没有使用Objective-C类 LinkMap iOS调优 | 深入理解Link Map File iOS堆栈信息解析(Mach-O) 包体积大小:瘦身 Mach-O学习...Mach-O 文件格式探索 二进制文件分析之常用命令 iOS代码瘦身实践:删除无用

3.6K11

iOS安全测试—dumpdecrypted脱壳

脱壳背景 我们日常开发提交给Appstore发布App都经过官方保护加密,这样可以保证机器应用是经过苹果审核过,也可以管理软件授权。...经过App Store加密应用,我们无法通进行反编译静态分析,逆向分析过程中需要对加密二进制文件进行解密才可以进行静态分析,这一过程就是所谓脱壳(砸壳)。...universal (armv7 armv7s arm64) [dumpdecrypted] 脱壳操作 设备环境要求 使用越狱手机务必Cydia中安装cycript、adv-cmds 、pstree...远程连接手机,设备打开要脱壳应用,本文以微信为例。 dumpdecrypted文件拷贝 远程SSH连接设备将签名之后dumpdecrypted.dylib拷贝到设备/usr/lib目录。...打开工程选择class-dump 运行,把class-dump放在/usr/local/bin 下,终端输入 class-dump 查看是否安装成功。

1.5K21

iOS 12.2 脱壳砸壳(使用frida-ios-dump)

-l Mach-O文件名 | grep crypt image.png 2021-01-22 4.11.32.png frida-ios-dump安装 安装步骤: 1. iPhone端准备: 1...Mac端准备: 终端输入 sudo pip3 install frida 回车,安装完成后输入 frida-ps -U 回车检测; ps: 使用使用Python3 来操作 如果是Mac自带Python...需要将 /opt/dump/frida-ios-dump/ 下文件 dump.py 内容拷贝一份出来,新建一个dump.py文件并粘贴拷贝内容;新建dump.py文件修改内容;...替换原dump.py文件,查看修改内容; 输入 vim /opt/dump/frida-ios-dump/dump.py 回车; 设置指令别名; a.终端输入 vim ~/.bash_profile...回车; 2021-02-01 5.32.13.png 2.打开iPhone需要脱壳程序; 3.终端输入 python3 dump.py 【App Name】回车 2021-02-01 5.34.02

2.5K30
领券