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 包:
    image
  • 这个 应用程序 包里面,就有我们整个项目的各种资源文件、源码编译之后的执行文件等等,我们可以通过 ipa 包解压来得到,或者通过 Xcode 编译得到 Products -> Jailbreak.app 里面。
    image
  • 像我们平常的 .xib 会被编译成 .nib 存放到这个 应用程序 包里面,info.plist 也会在这个 应用程序 包里面,但是就是找不到我们的代码,因为代码被编译成 Mach-O 格式的可执行文件了,也就是下面这个:
    image
    image
  • 应用程序 包怎么生成 ipa
    随便新建一个文件夹,将 应用程序 包放进去,然后压缩成 .zip,再将 .zip 改成 .ipa 就完成了,得到了一个 ipa 包。

二、Mach-O 逆向 APP 的思路

1、界面分析

  • 辅助:CycriptReveal

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

  • 辅助:MachOViewclass-dumpHopper Disassemblerida

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

  • 辅助:debugserverLLDB

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

  • 辅助:后续更新
相关文章
|
4月前
|
数据采集 安全 搜索推荐
app逆向入门分析——破解某APP登陆请求参数
app逆向入门分析——破解某APP登陆请求参数
|
6月前
|
移动开发 缓存 JavaScript
Vue3.0入门 + Vant3.0移动端实践(三)使用Cordova打包Android App
Vue3.0入门 + Vant3.0移动端实践(三)使用Cordova打包Android App
|
存储 小程序 容器
【小程序入门】App函数注册小程序实例
【小程序入门】App函数注册小程序实例
【小程序入门】App函数注册小程序实例
|
运维 监控 Java
APP性能监测工具之友盟的 U-APM产品入门使用
最近公司做了一款新的APP,要求能够看到用户每天的新增量和活跃量,还有一些页面的点击量、停留时间等的监测,还有更重要的一点就是能够监测到app的异常情况。于是开始对第三方工具开始一番研究,对比之后我选择使用了友盟。
APP性能监测工具之友盟的 U-APM产品入门使用
|
监控 开发工具
手机app应用免费监控软件U-APM保姆级教学,入门使用
这篇文章简单的介绍一下友盟+U-APM,应用性能监控平台, 可以高效提升应用质量,智能诊断,快速定位问题,从产品质量验收到问题复现排查等各项功能,快速通道链接。
手机app应用免费监控软件U-APM保姆级教学,入门使用
|
Web App开发 JavaScript 索引
Electron入门笔记(一)-自己快速搭建一个app demo
一.安装Node   1.从node官网下载 ,最好安装.msi后缀名的文件,新手可以查看安装教程进行安装。 2.然后cmd进入命令窗口,输入npm -v查看node当前版本, 二.创建文件并初始化   1.
2375 0
|
Android开发
《Android App开发入门:使用Android Studio 2.X开发环境》——第 3章 Android App界面设计 3-1 View 与 ViewGroup(Layout):组件与布局
本节书摘来自华章计算机《Android App开发入门:使用Android Studio 2.X开发环境》一书中的第3章,第3-1节,作者 施威铭,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1724 0
|
Java Android开发 开发者
《Android App开发入门:使用Android Studio 2.X开发环境》——2-8 修改项目的程序包名称和应用程序 ID
本节书摘来自华章计算机《Android App开发入门:使用Android Studio 2.X开发环境》一书中的第2章,第2-8节,作者 施威铭,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1884 0
|
Android开发 Windows
《Android App开发入门:使用Android Studio 2.X开发环境》——2-7 使用 USB 线将程序部署到手机上执行
本节书摘来自华章计算机《Android App开发入门:使用Android Studio 2.X开发环境》一书中的第2章,第2-7节,作者 施威铭,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1896 0
相关产品
云迁移中心
推荐文章
更多