美文网首页iOS逆向工程
逆向学习笔记6——MachO文件

逆向学习笔记6——MachO文件

作者: 危险地带_浅笑 | 来源:发表于2018-05-04 09:37 被阅读131次

官方介绍总共有11种格式! 是 Mach Object的缩写,是Mac/iOS 上用于存储程序,库的标准格式!
常见的格式:

  • 1.可执行文件
  • 2.objcet
    • .o 文件(目标文件)
    • .a 静态库文件.其实就是N个.o文件的集合
  • 3.DYLIB: 动态库文件
    • dylib
    • framework
  • 4.动态连接器
  • 5.DSYM(存放崩溃信息)

.o文件

1,首先自己创建一个test.c文件,并写一些自己需要的代码

image.png
在终端执行clang -c test.c,获得test.o文件,通过file test.o查看文件类型Mach-O 64-bit object x86_64
image.png
从他的文件类型,我们知道Object不是可执行文件,执行clang -o test1 test.o就可以获得一个test1的可执行文件,在终端执行./test1就直接打印出test了。

.c,.o文件转成可执行文件,常用命令

  • clang test.o //使用可执行文件的默认名称(这个不能双击打开,可以用在终端./a.out)
  • clang -o xxx test.o //给可执行文件命名
  • clang -o xxx test.c //直接从.c文件生成 可执行文件
  • clang -o xxx test1.c test2.c //将两个.c文件生成一个可执行文件

.a文件

image.png

注:.dylib查看方式也和.a文件的方式一样,这里就不在赘述了

动态库共享缓存

为了提高性能,系统的动态库文件都存在了动态库共享缓存里面!


image.png

动态加载器(dyld)

  • dynamic linker
  • dynamic loadel
    image.png

选择MachO文件的类型

image.png

app包的架构

image.png

拆分/整合二进制文件

瘦身/拆分

$ lipo xxx -thin armv7 -output macho_armv7    //xxx是app包的可执行文件
$ lipo xxx -thin armv64 -output macho_armv64

整合

$ lipo -create macho_armv7 macho_arm64 -output machO_v7_64

class-dump

如果安装MonkeyDev了,注意配置好环境变量,
vim ~/.zshrc

export MonkeyDevPath=/opt/MonkeyDev
export MonkeyDevDeviceIP=
export PATH=/opt/MonkeyDev/bin:$PATH

拿到所有可执行文件中.h文件

$ class-dump -H MachO文件Path -o 头文件路径

相关资源趣探 Mach-O:文件格式分析

相关文章

  • 逆向学习笔记6——MachO文件

    官方介绍总共有11种格式! 是 Mach Object的缩写,是Mac/iOS 上用于存储程序,库的标准格式!常见...

  • ios逆向笔记之砸壳汇总

    ios逆向笔记之砸壳汇总 otool otool -l macho查看macho的一些信息 otool -l ma...

  • 指针&MachO文件

    逆向课程随堂笔记 指针&MachO文件 指针 指针自增、自减的结果,其实就是指针指向的数据类型宽度决定的! 指针加...

  • iOS逆向工具篇&Cycript

    iOS逆向必备工具: IDAPro--逆向工程师的生命MachOView--查看MachO文件格式信息iOS-ap...

  • class-dump使用

    iOS逆向 class-dump导出 app machO里的头文件 - 灰信网(软件开发博客聚合)[https:/...

  • 6.MachO

    MachO文件 MachO文件 MachO文件结构 DYLD Mach-O其实是Mach Object文件格式的缩...

  • iOS 逆向-macho文件和LLDB

    一 利用class-dump导出所有头文件 1. 安装class-dunmp 可以直接安装class-dump 或...

  • iOS 逆向开发14:MachO文件

    iOS 逆向开发 文章汇总[https://www.jianshu.com/p/a9b3c5ecc8aa] 目录 ...

  • iOS逆向-砸壳(Clutch & dumpdecryp

    MachO文件 -> 苹果加密 -> 加壳文件加壳文件 -> 苹果解密 -> MachO文件(DYLD) 解密过程...

  • iOS逆向攻防之了解MachO文件

    直入正题,今天我们来了解一下逆向Hook一个App非常重要的文件,就是MachO文件。通过查看应用打包后的ipa包...

网友评论

本文标题:逆向学习笔记6——MachO文件

本文链接:https://www.haomeiwen.com/subject/hggkrftx.html