android ios 逆向工程,iOS 逆向工程--懒人的砸壳方法

article/2025/10/17 0:23:48

iOS 砸壳教程(iOS 9.0)

砸壳后可以对APP进行反编译, 可以看到ipa内头文件, 具体请查看我之前写的:反编译 iOS APP .当然, 关于逆向工程有太多的教程了, 但一般都比较复杂, 本着能偷懒就偷懒, 能不造轮子就不造轮子的坚定理念, 我正努力地学习偷懒...

声明:本文纯粹技术上的探讨, 用作他途的后果自负.

1.准备工作

一台越狱了的iOS9.0.x的手机(iOS 9的其他越狱手机也行, 但是iOS9.3.3以上会遇到更麻烦的情况), 越狱软件上需要安装ssh插件OpenSSH ,命令行下和应用交互的插件Cycript.

pp助手(可以直接进入应用的Document目录, 省去用命令行拷贝dumpdecrypted.dylib

到Document)

dumpdecrypted.dylib 编译时要和自己的手机iOS版本对应, 也可以直接下载别人编译好的这位老哥已经编译好的动态库自取

从APP store下载一个app(本文以腾讯视频为例)

2.获取APP Document目录和APP进程目录

2.1手机连上Mac分享出来的WiFi,然后打开腾讯视频, 把后台所有的APP都关闭. 然后终端输入ssh root@192.168.2.x 这个ip地址是你在本地局域网的地址, 在你链接的WiFi详情里面有. 接着会让你输入密码, 如果你没改过密码默认是alpine

2.2 接着你需要输入ps -e | grep /var/mobile 找到腾讯视频对应的进程, 如下图

46450f133ef0

Snip20180117_4.png

保存好这个路径, 之后会用到

2.3 用cycript找出Document(可以不看这节, 因为通过pp助手可以得到这个Document路径)

终端输入cycript -p 2340(这个2340就是上图中的进程号, 代表着腾讯视频APP进程)

接着输入[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask][0]

然后就能看到Document目录了, 如下图

46450f133ef0

Snip20180117_9.png

保存好这个路径/var/mobile/Containers/Data/Application/6C69A0C2-F564-4524-A7FA-61D4CD637D78/Documents/"

2.4 退出cycript

特意说一下是因为之前我困在这挺久的…终端输入control + D就能退出了

3.把dumpdecrypted.dylib放入APP的Document目录中

这一步可以用scp dumpdecrypted.dylib路径 Document路径来完成, 注意要用绝对路径, 推荐另一种方法, 用pp助手完成.

首先拷贝好dumpdecrypted.dylib, 然后打开pp助手, 找到腾讯视频点进去, 如下图

46450f133ef0

进入腾讯视频Documents.jpg

点进去后你会看到Documents目录, 点进去后直接把dumpdecrypted.dylib拖进去,如下图

46450f133ef0

将dumpdecrypted拖入.jpg

4.砸壳

终于, 到了激动人心的时刻啦! 呃, 好吧, 其实这里还有个坑, 我们刚刚命令行应该执行到下图这里了

46450f133ef0

Snip20180117_9.png

然后我们cd 到上图的Document目录下, 接着执行su mobile(这两步必不可少 , 请一定要注意别遗漏), 执行完后 执行

DYLD_INSERT_LIBRARIES=/var/mobile/Containers/Data/Application/6C69A0C2-F564-4524-A7FA-61D4CD637D78/Documents/dumpdecrypted.dylib /var/mobile/Containers/Bundle/Application/134D4FAB-CF7B-49EE-A713-886F1DD31F4F/live4iphone.app/live4iphone

解释下 其实就是让动态库插入到app中, DYLD_INSERT_LIBRARIES=后面接的是dumpdecrypted.dylib这个库在Document目录下的绝对路径, 然后记得空格, 第二个路径就是app的路径了.简单点就是下图所示

DYLD_INSERT_LIBRARIES=dumpdecrypted.dyli绝对路径 空格 app绝对路径

打完上面这行命令直接回车, 然后进入app的Documents目录, 刷新下, 就能发现砸完壳的文件了, 如下图

46450f133ef0

Snip20180117_10.png

5.结语

终于大功告成了, 有没有很开心? 这也就是我们作为开发人员最开心的时刻吧. Enjoy it !


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

相关文章

iOS逆向——带你深入了解LLDB调试

写在前面 日常开发中经常会用到LLDB调试,可能用的最多的命令就是po,而在逆向领域中根本不可能让你在代码中下断点调试,于是乎LLDB就成了非常重要的手段 一、LLDB LLDB(Low Lever Debug)的缩写,是默认内置…

ios逆向小记

ios逆向小记 定位关键点 抓包 利用charles进行抓包来定位一些关键字符串,其中抓包配置如下: reveal reveal分析图层界面,找到图层所属类,利用frida-trace hook该类进行栈回溯确定关键点,同时可以通过图层类名称来推…

iOS逆向 和班尼特福迪一起攻克难关(unity)

Getting Over It这款游戏发布都五年了,热度也不是那么低,我寻思怎么就没人折腾iOS的goi呢,改个重力啥的我到现在都没发现。。 项目地址 dnSpy il2cppdumper IDA Pro 汇编码转机器码工具 密码:i36p 先从安卓goi里面拿到Assembly-CSharp.dl…

IOS逆向需用到的工具汇总

1、Mac 上自带的一些命令工具 file:查看Mach-O的文件类型 file 文件路径 otool:查看Mach-O特定部分和段的内容 otool -L Mach-O文件 # 查看当前 Mach-O 文件的动态链接库。 lipo:常用于多架构Mach-O文件的处理 查看架构信息:lip…

IOS 逆向分析基础篇

一、环境准备 已经越狱的IOS手机一台,如果使用的是Windows笔记本另外需要mac 虚拟机 1、IOS 手机越狱及环境配置 IOS12.0 以前版本,可以用impactor 写入签名,安装越狱IPA包 IOS 12以上版本,并小于IOS12.1.2,此时需要…

IOS逆向-LLVM、代码混淆

LLVM、代码混淆 1 LLVM1.1 传统编译架构1.2 LLVM的编译架构1.3 Clang1.3.1 什么是Clang1.3.2 Clang与LLVM 2. OC源文件的编译过程2.1 编译过程和预编译2.2 词法分析2.3 语法树-AST2.4中间代码(LLVM IR) 3. LLVM源码3.1 LLVM的源码下载3.2 源码编译3.2.1 …

【iOS逆向与安全】frida-trace入门

前言 frida-trace是一个用于动态跟踪函数调用的工具。支持android和ios。安装教程请参考官网。工欲善其事必先利其器。本文将以某App为示范,演示frida-trace的各种方法在iOS中的应用。 一、目标 让看文章的你在使用frida-trace时更得心应手。 二、工具 mac系统f…

iOS逆向之某茅台App抓包

阅读此文档的过程中遇到任何问题,请关注公众号移动端Android和iOS开发技术分享或加QQ群309580013 1.目标 由于某茅台App有抓包检测,无法直接使用charles等工具抓包。本文的目的自然就是如何修改源码并抓任意接口 2.依赖环境 frida-ios-dump&#xff1…

【iOS逆向与安全】iOS插件开发入门

前言 经过之前的学习,相信你已经能熟练的使用Frida-trace、IDA Pro等逆向工具。不过,仅仅到这肯定是不够的。接下来,学会把你逆向的结果打包成插件并运行,那iOS逆向,你也就真正的入门了。 一、目标 把逆向的结果制作成…

iOS逆向工程开发技巧

1. 将xib文件转成nib文件 ibtool --errors --warnings --output-format human-readable-text --compile ~/Desktop/001.nib ~/Desktop/HWTipsView.xib 2. 给framework添加指令集合并 lipo -create [地址:name1.framework/name1] [地址:name2.framewor…

iOS逆向动态调试

1.拷贝越狱手机/Developer/usr/bin目录下的debugserver到Mac电脑,在mac端输入 scp -P 2222 rootlocalhost:/Developer/usr/bin/debugserver ~/debugserver2.对debugserver进行瘦身(iOS11可以不用瘦身,因为只支持64位构架的程序),在debugserver所在目录输…

ios逆向学习环境安装(一)

1、Xcode 历届版本:https://developer.apple.com/documentation/xcode-release-notes AppStore中搜并安装XCode & 在网页下载https://developer.apple.com/xcode 2、class-dump class-dump,是可以把Objective-C运行时的声明的信息导出来的工具。其实…

ios android 逆向 对比,iOS逆向开发--APP重签名

签名原理 在非越狱手机上要调试一个三方的APP,我们首先要对其重签名,跑在我们的手机上,我们才能对其进行进一步的动态和静态调试 要对一个APP包进行重签名,要有一个越狱的APP包,这个可以去PP助手上下载,也可…

IOS逆向-抓帧分析

背景 分析图形学、游戏等的时候,很多时候需要抓帧分析 步骤 动态调试APP点击 点击FPS,触发渲染,查看面板是否有数据点击📷按钮,触发渲染再次点击📷按钮,结束抓帧 问题 FPS数据面板没有数据…

IOS逆向-动态调试

文章目录 LLDBXcode重新签名版本调试(手动) ✅重新签名版本调试(自动)不重新签名版本调试 LLDB Xcode -> Attach -> 点击 || 按钮 -> 使用lldb终端 手机/Developer/usr/bin/debugserver localhost:2233 /var/containers/Bundle/Application/*/*/xxxx电脑 lldb -> …

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 代码。 本章的后半部分还介…