iOS逆向-脱壳

【ios应用脱壳】通过CrackerXI (1)ios用过crackerXI脱壳,获得解密后的可执行文件。 日更:day04 阅读详情
  • 什么是加壳?

         利用特殊的算法,对可执行文件的编码进行改变(比如压缩、加密),以达到保护程序代码的目的

  • 什么是脱壳?

         摘掉壳程序,将未加密的可执行文件还原出来(有些人也称为“砸壳”)

 

  • iOS中有很多好用的脱壳工具

           Clutch:https://github.com/KJCracks/Clutch

             dumpdecrypted:https://github.com/stefanesser/dumpdecrypted/

            pAppCrackr、Crackulous

  • 通过otool命令行可以查看可执行文件是否脱壳

                otool  -l   可执行文件路径   |  grep   crypt

    0为已经脱壳

 

Clutch配置

  • 下载最新的Release版:https://github.com/KJCracks/Clutch/releases
  • 建议去掉版本号,改名为Clutch   
  • 将Clutch文件拷贝到iPhone的/usr/bin目录中
  • 如果在iPhone上执行Clutch指令,权限不够的话,赋予  可执行的权限

            chmod +x /usr/bin/Clutch

 

  • 列出已经安装的APP:      Clutch -i

iPhone:~ root# Clutch -i
Installed apps:
1:   腾讯视频-怒晴湘西独播 <com.tencent.live4iphone>
2:   车来了 <com.chelaile.lite>
3:   Stream <com.fish.stream>
4:   QQ <com.tencent.mqq>
5:   UC浏览器-新闻资讯抢先看 <com.ucweb.iphone.lowversion>
6:   酷狗音乐-就是歌多 <com.kugou.kugou1002>
7:   喜马拉雅 <com.gemd.iting>
8:   ボイスレコーダー-無料ボイスメモ <com.leqimea.recorderAudio>
9:   爱思加强版 <com.pd.A4Player>
10:  抖音短视频 <com.ss.iphone.ugc.Aweme>
  • 输入APP序号或者Bundle id进行脱壳操作:Clutch -d APP序号或BundleId

iPhone:~ root# Clutch -d 3
Zipping NetworkSniffer.app
ASLR slide: 0x10002c000
Dumping <PackageTunnelProvider> (arm64)
Patched cryptid (64bit segment)
...
  • 脱壳成功后会生成一个ipa文件

DONE: /private/var/mobile/Documents/Dumped/com.fish.stream-iOS9-(Clutch-2.0.4).ipa
Finished dumping com.fish.stream in 3.1 seconds
iPhone:~ root#

dumpdecrypted配置

  • 下载源代码,然后在源代码目录执行make指令进行编译,获得dylib动态库文件

            https://github.com/stefanesser/dumpdecrypted/

           

  • 将dylib文件拷贝到iPhone上(如果是root用户,建议放/var/root目录)

  • 终端进入dylib所在的目录

  • 使用环境变量DYLD_INSERT_LIBRARIES将dylib注入到需要脱壳的可执行文件(可执行文件路径可以通过ps-A查看获取)

    DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib  可执行文件路径

iPhone:~ root# DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/mobile/Containers/Bundle/Application/06237BF4-4E31-46DD-B667-5FC17F5FD461/ting.app/ting
mach-o decryption dumper

DISCLAIMER: This tool is only meant for security research purposes, not for application crackers.

[+] detected 64bit ARM binary in memory.
[+] offset to cryptid found: @0x10004cca8(from 0x10004c000) = ca8
[+] Found encrypted data at address 00004000 of length 61276160 bytes - type 1.
[+] Opening /private/var/mobile/Containers/Bundle/Application/06237BF4-4E31-46DD-B667-5FC17F5FD461/ting.app/ting for reading.
[+] Reading header
[+] Detecting header type
[+] Executable is a FAT image - searching for right architecture
[+] Correct arch is at offset 67125248 in the file
[+] Opening ting.decrypted for writing.
[+] Copying the not encrypted start of the file
[+] Dumping the decrypted data into the file
[+] Copying the not encrypted remainder of the file
[+] Setting the LC_ENCRYPTION_INFO->cryptid to 0 at offset 4004ca8
[+] Closing original file
[+] Closing dump file
iPhone:~ root#
  • .decrypted文件就是脱壳后的可执行文件

              在手机路径的/device/var/root文件里      

 

常用格式

class-dump -H Mach-O文件路径  -o 头文件存放目录

iOS应用脱壳实战:原理、工具与逆向分析入门 在iOS应用安全与逆向工程领域,理解应用加密与解密机制是核心技术基础。苹果的FairPlay DRM系统会对App Store分发的应用进行加密保护,使得静态分析工具无法直接读取代码逻辑。脱壳技术正是针对这一保护机制,通过从内存中提取已解密的代码段,生成可供分析的明文二进制文件,从而为后续的漏洞挖掘、代码审计与学习提供可能。其核心原理涉及Mach-O文件结构、内存映射与动态调试,常见于安全研究、应用审计与开发学习等场景。本文聚焦于iOS应用脱壳,详细解析了frida-ios-dump等工具的使用方法,并探讨 阅读详情

相关推荐

【iOS逆向】frida一键脱壳

前沿 iOS砸壳方式很多:dumpdecrypted,Clutch,Frida,本篇介绍Frida。 1 准备工作 1.1 iOS端 安装ssh 安装Frida源 添加源:https://build.frida.re 下载对应Frida 32或者64位 1.2 Mac 端 1.2.1 安装homebrew /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install

qq_31942007的博客 1917

iOS完美脱壳

在软件安全领域中,我们与黑产做对抗时,不是被动防守,自己也可以做攻击方,来验证我方软件是否安全。 关于iOS端逆向分析如:虚拟定位、虚拟设备、修改内存等,始终离不开脱壳。脱壳是第一步,也是必要的一步,下面就说下如何脱壳。...

weixin_38367103的博客 1万+

Frida 17动态脱壳全攻略:iOS应用逆向与安全分析实战

在移动安全领域,动态代码分析技术通过实时监控和修改应用运行时行为,为逆向工程和安全评估提供了强大支持。其核心原理是在目标进程注入代码,拦截关键函数调用并监控内存操作,从而绕过静态保护机制。这项技术的核心价值在于能够有效对抗代码加密和混淆,直接获取内存中已解密的原始指令。在iOS平台,应用常采用加密壳、代码混淆等保护方案,动态脱壳成为分析这类应用的关键手段。本文聚焦于基于Frida 17版本的动态脱壳工具链,详细解析其针对iOS加密壳的实战应用,涵盖环境搭建、内存dump原理和常见加固方案的应对策略,为移动安

weixin_42530732的博客 628

19、iOS砸壳概述

使用过的砸壳方式有四种,根据防护手段不同、所以有些砸壳方式并不是万能的.

Holothurian 1万+

iOS应用Frida动态脱壳实战:从原理到逆向分析完整指南

在iOS应用安全与逆向工程领域,动态代码插桩是一项核心技术,它允许安全研究人员在应用运行时注入并监控代码执行流程。其原理是通过将自定义脚本注入目标进程的内存空间,实现对函数调用、内存读写等操作的实时挂钩与拦截。这项技术的核心价值在于能够绕过静态加密保护,直接分析运行时的明文逻辑,广泛应用于漏洞挖掘、恶意软件分析和应用加固评估等场景。Frida作为当前主流的动态插桩框架,通过JavaScript脚本与轻量级Agent的配合,为iOS应用脱壳提供了高效解决方案。本文聚焦于利用Frida实现内存dump,捕获dy

weixin_29323273的博客 265

iOS逆向入门:用CrackerXI+轻松脱壳百度App(附scp文件传输教程)

本文详细介绍了使用CrackerXI+工具对iOS应用进行脱壳的全过程,以百度App为例,从工具准备、脱壳操作到使用scp命令传输文件,提供了完整的逆向工程入门指南。适合对iOS逆向感兴趣的开发者学习基础脱壳技术和文件传输方法。

weixin_28309571的博客 387

IOS逆向(一)脱壳

所有的IOS应用上传到APP STORE上线前都会被自动加"壳",可以理解为蜗牛的外壳,主要作用就是用于保护"脆弱"的源代码,这个"壳"的真实身份是(Digital Rights Management,数字版权保护),想详细了解的可以自行搜索查询一下。

shuwangyong的专栏 2276

iOS逆向入门:用CrackerXI+轻松脱壳百度App(附SCP文件传输指南)

本文详细介绍了使用CrackerXI+工具对百度App进行iOS逆向脱壳的全过程,包括环境准备、脱壳操作及SCP文件传输指南。通过实战演示,帮助读者掌握从越狱设备脱壳到Windows系统分析的完整流程,适合iOS逆向工程初学者入门学习。

weixin_29233857的博客 281

iOS脱壳技术(二):深入探讨dumpdecrypted工具的高级使用方法

应用程序脱壳是指从iOS应用程序中提取其未加密的二进制可执行文件,通常是Mach-O格式。这可以帮助我们深入研究应用程序的底层代码、算法、逻辑以及数据结构。这在逆向工程、性能优化、安全性分析等方面都有着重要的应用。在上一篇内容中我们已经介绍了Clutch的脱壳技术,本文将探讨一种高级技术——使用dumpdecrypted工具来脱壳(Dump)iOS应用程序,进一步深入了解其内部机制。

2033

iOS安全和逆向系列教程 第18篇:iOS应用脱壳技术详解与实战

iOS应用脱壳技术详解与实战 摘要: 本文深入剖析了iOS应用脱壳技术,首先解释了加壳(如FairPlay DRM)与脱壳的基本概念及必要性。通过otool命令可以检测应用的加密状态。文章详细介绍了三种主流脱壳工具:经典dumpdecrypted工具的使用方法、现代化Clutch工具的安装配置以及基于Frida的高级脱壳方案frida-ios-dump。针对特殊情况,还提供了使用LLDB手动dump内存的技术细节,包括查找基地址、计算dump范围和内存读取等操作。最后介绍了修复Mach-O文件头的Pytho

一个自学不成材的程序员 710

从原理到实践:手把手教你用XY2-100协议控制激光振镜(含引脚定义图)

本文详细解析了XY2-100协议在激光振镜控制中的应用,从硬件接口定义到时序分析,再到Verilog硬件逻辑实现,提供了完整的开发指南。通过实际案例和优化策略,帮助开发者快速掌握高精度激光振镜控制技术,提升加工质量和效率。

weixin_30505225的博客 401

IOS逆向学习-加壳、脱壳

IOS逆向学习-加壳、脱壳加壳脱壳IOS中的脱壳工具clutchdumpdecrypted 加壳 从appStroe上现在的app都是 加壳(对可执行文件进行过加密)的文件,你直接使用class-dump,hopper工具 是解析不出来的,但是有的app通过其他工具安装,比如PP助手安装是可以直接解析的 加壳的原理: 脱壳 IOS上是一般才去 硬脱壳的方式 直接脱壳 查看Mach-O文件是否加密: class-dump 看看能否导出头文件 使用MachOView 产看 Load command

yong_19930826的博客 2586

SD--根据订单创建出库单(相关的函数列表的介绍系列篇(2))

创建订单样例代码参见:http://blog.csdn.net/CompassButton/archive/2007/05/09/1601712.aspx 可以根据一个订单或者部分订单项来创建出库单,代码如下:* Populating the item data lx_sales_item-ref_doc = l_vbeln. lx_sales_item-ref_item = c_000010

SAP BLOG--Jack Wu 6226

【国内电子数据取证厂商龙信科技】IOS 逆向脱壳

我们都知道,大多数的 APP 在开发的时候一般都会加上一层壳,例如 爱加密、梆梆、360、网易易盾等等。那 APK 的脱壳我们见得多了,那 IOS 逆向脱壳又是怎样子的呢?

longxintec的博客 675

Windows 11下用Ollama一键部署DeepSeek-R1大模型(附8B/14B版本选择建议)

本文详细介绍了在Windows 11环境下使用Ollama工具一键部署DeepSeek-R1大模型的完整指南,包括8B和14B版本的选择建议。通过硬件评估、安装配置、性能优化等步骤,帮助开发者高效实现本地部署,提升AI应用体验。

weixin_29079643的博客 272

[面试]SoC验证工程师面试常见问题(三)

SoC 验证工程师面试中,SystemVerilog、UVM 和 SystemC 的代码题目通常涵盖面向对象编程、约束随机化、UVM 组件设计、内存建模等主题。通过练习上述示例题目和理解关键点,你可以更好地应对现场编码环节。如果有具体的面试方向(如特定协议验证)或公司偏好,可以提供更多信息,我会进一步定制题目和答案。祝你面试顺利!

元直的博客 1614

iOS逆向:在「封闭王国」里「考古」的技术修行——从越狱到脱壳,从对抗到理解的代码对话

iOS逆向最容易被误解的是:「逆向工程师都是黑客,专门破解别人的软件。」但在我看来,​真正优秀的逆向工程师,是「安全的守门人」​——我们用逆向技术发现漏洞,是为了让系统更安全;我们分析恶意软件,是为了保护用户隐私;我们优化APP的防护逻辑,是为了让开发者的努力不被辜负。

fearhacker的专栏 1916

PostgreSQL:Patroni 高可用架构,基于etcd的自动故障转移集群

本文详细介绍了基于Patroni和etcd构建PostgreSQL高可用集群的方案。Patroni作为外部守护进程,通过etcd分布式协调服务实现自动故障转移、主节点选举等关键功能,弥补了PostgreSQL原生缺乏自动故障转移的不足。文章涵盖核心架构(3节点PG+3节点etcd)、环境规划、etcd集群部署(包括配置验证)以及Patroni安装配置的关键步骤,特别强调了Patroni自动初始化PG实例、配置同步复制等生产级特性。该方案通过外部组件协同工作,在不修改PG源码的情况下实现了生产环境所需的高可用

数据知道的博客 2489

iOS逆向之脱壳

什么是加壳? iOS的ipa在上传到App Store的时候,对可执行文件进行了加壳操作。利用特殊的算法,对可执行文件的编码进行改变(比如压缩、加密),以达到保护程序代码的目的。 什么是脱壳? 摘掉壳程序,将未加密的可执行文件还原出来(有些人也称为“砸壳”) 脱壳主要有2种方法:硬脱壳、动态脱壳 硬脱壳就是直接执行解密算法,把壳程序中的可执行文件进行解密,得到可执...

liuyinghui523的专栏 885

【异常】Claude Code 第三方API 400报错(thinking type should be enabled or disabled)解决方案

摘要: Claude Code接入第三方API端点时出现400参数错误,主要因新版默认启用的Adaptive Thinking功能与旧版接口参数格式不兼容(需thinking: {type: "adaptive"},但第三方仅支持布尔值)。解决方案为修改本地settings.json配置文件,添加"CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING": "1"环境变量并重启客户端,即可恢复思考模式功能。Adaptive Th

奶爸的编程之路,也就一周冷个三天 1万+

关闭搜狗输入法右下角广告的解决方案

本文主要介绍了关闭搜狗输入法右下角广告的解决方案,希望能对使用搜狗输入法的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 1万+

iOS逆向之脱壳工具creakerXI+,最简单、最适合新手的脱壳工具

在学习iOS逆向中,脱壳是必备技能之一,在网上看教程有使用Clutch 和 dumpdecrypted但是,不知道 是我操作问题,还是手机版本,以及APP版本更新问题尝试了几次,都无法成功脱壳最后在网上看到有大神分享其他的脱壳工具,在测试后找到一个最简单,最适合新手的脱壳工具。

u013712343的博客 4661

基于 Simulink 的飞轮储能系统(Flywheel Energy Storage System, FESS)充放电协调控制实战教程

本教程详细介绍了基于Simulink的飞轮储能系统(FESS)建模与控制方法。系统采用永磁同步电机(PMSM)和背靠背变流器架构,包含机侧全速域矢量控制和网侧直流稳压控制。重点讲解了机电耦合建模、FOC控制算法实现、基于电压下垂的协调控制策略,以及混合储能系统设计思路。教程提供了MATLAB函数代码示例,并给出典型工况下的仿真波形分析指南,同时指出了常见问题解决方案。该模型可用于研究飞轮储能在调频、能量回收等场景的应用,为新能源消纳和微网稳定提供仿真工具。

MHD0815的博客 166

ios逆向某幸咖啡 抓包+脱壳+frida-trace+ida分析

本文分析了某幸咖啡iOS端(v5.4.20)的接口加密机制。通过SSLKillSwitch绕过SSL Pinning抓包,定位到核心加密类LNAESRequestSerializer。研究发现q参数采用AES-ECB模式加密,密钥通过frida hook获取;sign参数由cid、q、t、uid拼接后经MD5特殊处理生成。与小程序版相比,iOS端加密逻辑更复杂,直接hook标准加密方法无效。文章详细介绍了从抓包、反编译到参数逆向的全过程,为类似应用的逆向分析提供了参考思路。

weixin_59616601的博客 1807

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

IOS逆向(4)加壳、脱壳

IOS逆向(3)加壳、脱壳

weixin_44282723的博客 3153

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

移动应用逆向:iOS 应用的 IPA 脱壳与代码分析

在移动应用逆向工程中,iOS 应用的 IPA 文件脱壳(decryption)和代码分析是关键步骤。IPA 文件是 iOS 应用的安装包,通常从 App Store 下载后会被加密(使用 FairPlay DRM),以防止未授权访问。脱壳是指去除这种加密,获取原始可执行文件(Mach-O 格式),以便进行代码分析。注意:逆向工程可能涉及法律风险(如版权侵犯),请确保仅用于合法目的(如安全研究或教育)。如果您有具体应用案例或代码片段,我可以提供更针对性的建议(请确保遵守法律)。脱壳操作在越狱设备上完成。

2501_93877429的博客 1995

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

上一篇: iOS重签名
下一篇: iOS代码混淆(MJ)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值