iOS 逆向编程(十九)Mach-O 入门了解(如何通过 Mach-O 逆向 APP 思路)

简介: iOS 逆向编程(十九)Mach-O 入门了解(如何通过 Mach-O 逆向 APP 思路)

一、Mach-O 简介

  • Mach-O 是一种文件格式,是 Mac 上可执行文件的格式,类似于 Windows 上的 PE 格式 (Portable Executable ), Linux 上的 elf 格式 (Executable and Linking Format)。我们编写的 C、C++、Swift、OC 最终编译链接生成 Mach-O 可执行文件,更详细的介绍自行百度。
  • 通常,在我们开发完成之后,就会打包发布,在我们打出的包里面有这样一个 应用程序 包,ipa 包解压之后里面也会有这样一个文件,我们也可以通过这个 应用程序 包生成一个 ipa 包:

  • 这个 应用程序 包里面,就有我们整个项目的各种资源文件、源码编译之后的执行文件等等,我们可以通过 ipa 包解压来得到,或者通过 Xcode 编译得到 Products -> Jailbreak.app 里面。

  • 像我们平常的 .xib 会被编译成 .nib 存放到这个 应用程序 包里面,info.plist 也会在这个 应用程序 包里面,但是就是找不到我们的代码,因为代码被编译成 Mach-O 格式的可执行文件了,也就是下面这个:


  • 应用程序 包怎么生成 ipa
    随便新建一个文件夹,将 应用程序 包放进去,然后压缩成 .zip,再将 .zip 改成 .ipa 就完成了,得到了一个 ipa 包。

二、Mach-O 逆向 APP 的思路

1、界面分析

  • 辅助:CycriptReveal

2、代码分析,对 Mach-O 文件静态分析(也就是我们一行一行阅读别人的代码)

  • 辅助:MachOViewclass-dumpHopper Disassemblerida

3、动态调试分析,对运行中的 APP 进行代码调试

  • 辅助:debugserverLLDB

4、代码编写,注入代码到 APP 中,必要时还需要 重新签名打包ipa

  • 辅助:后续更新
相关文章
|
2月前
|
API 数据安全/隐私保护 iOS开发
利用uni-app 开发的iOS app 发布到App Store全流程
利用uni-app 开发的iOS app 发布到App Store全流程
95 3
|
2月前
|
移动开发 前端开发 数据安全/隐私保护
iOS代码混淆-从入门到放弃
iOS代码混淆-从入门到放弃
21 0
|
2月前
|
iOS开发 开发者
一键制作 iOS 上架 App Store 描述文件教程
一键制作 iOS 上架 App Store 描述文件教程
|
2月前
uni-app 185iOS端兼容处理
uni-app 185iOS端兼容处理
36 1
|
3月前
|
iOS开发 开发者
苹果iOS App Store上架操作流程详解:从开发者账号到应用发布
很多开发者在开发完iOS APP、进行内测后,下一步就面临上架App Store,不过也有很多同学对APP上架App Store的流程不太了解,下面我们来说一下iOS APP上架App Store的具体流程,如有未涉及到的部分,大家可以及时咨询,共同探讨。
|
2月前
|
Android开发 iOS开发 开发者
App备案-iOS云管理式证书 Distribution Managed 公钥及证书SHA-1指纹的获取方法
App备案-iOS云管理式证书 Distribution Managed 公钥及证书SHA-1指纹的获取方法
110 0
|
2月前
|
开发者 iOS开发
iOS App上架新规解析:如何进行App备案
iOS App上架新规解析:如何进行App备案
158 0
|
2月前
|
iOS开发 开发者
【教程】uni-app iOS 打包解决 profile 文件与私钥证书不匹配问题
【教程】uni-app iOS 打包解决 profile 文件与私钥证书不匹配问题
|
3月前
|
iOS开发 开发者
iOS App 上架指南及关键建议
上架App Store是将iOS应用提交申请并上线的过程,旨在让应用在App Store上展示,吸引用户并获取流量。本文将介绍iOS上架的整体流程,并提供一些建议和注意事项。
|
3月前
沐编程APP免费下载
沐编程APP免费下载
40 9
沐编程APP免费下载