美文网首页iOS逆向开发
<安全攻防之通用二进制文件>

<安全攻防之通用二进制文件>

作者: 高阿呆 | 来源:发表于2019-11-07 09:42 被阅读0次
$通用二进制(Universal binary)

苹果电脑公司提出的一种程序代码,在同一个程序包中同时为两种架构提供最理想的性能,当程序在操作系统中运行后,将自动检测通用二进制代码,然后根据使用的架构自动选择合适的代码来执行,因此实现无损的本地程序运行速度。
Xcode编译可以指定生成哪些类型的MachO文件.是根据Architectures和Valid Architectures交集决定的,在Debug模式下,会根据手机的系统决定生成与手机系统对应的架构,在release模式下会默认生成armv7和arm64两种架构的合并.


architercture.png

$lipo命令

我们可以通过lipo -info xxx 或 file xxx 查看MachO可执行文件有哪些架构

$lipo -info xxx
或者
$file xxx

如果包含多种架构,我们可以给二进制文件的瘦身,拆分多种架构的二进制文件

$lipo xxx -thin armv7 -output xxx输出的文件名      // armv7架构
$lipo xxx -thin arm64 -output xxx输出的文件名     // arm64架构

也可以把多种架构的二进制整合成一个包含多种架构的二进制文件

$lipo -create xxx xxx -output xxx输出的文件名   // 参数1: 第一种架构的文件名 参数2:第二种架构的文件名 ...
在逆向开发中,我们通常把含有多种架构的MacO文件拆分开来单独分析,所以上边两条命令会经常使用.

相关文章

  • <安全攻防之通用二进制文件>

    $通用二进制(Universal binary) 苹果电脑公司提出的一种程序代码,在同一个程序包中同时为两种架构提...

  • Mach-O系列(二)Header和LoadCommand

    ##### 1.通用二进制文件 所谓的通用二进制文件,实质上是支持的各种架构的二进制文件打包在一起的文件,通常也称...

  • <安全攻防之MachO文件>

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

  • iOS安全攻防

    iOS安全攻防 iOS安全攻防

  • iOS安全攻防

    参考iOS安全攻防(二十三):Objective-C代码混淆代码混淆 md5 + base64[ios]安全攻防之...

  • Mach-O 文件初探

    通用二进制文件 同时适用于多种架构的二进制文件 包含了多种不同架构的独立二进制文件 因为需要存储多种架构的二进制代...

  • Mach-O文件格式解析

    Mach-o文件 Mach-O 是iOS/macOS系统上应用程序的格式 通用二进制文件(胖二进制文件) 因为Ma...

  • iOS安全手册

    一、iOS安全攻防 1.本地数据攻防 1.1 文件存储 每个App的文件都保存在一个沙盒目录中。每个沙盒都包含Do...

  • Middle:JS{三、导出xls or csv(没有处理IE兼

    XLS:二进制文件只能用Excel打开 CSV: csv是文本文件比较通用 XLS(二进制可以打开图片,视频等) ...

  • Xcode - Target 设置-General

    Target (一)General ----通用选项 (标识,签名,部署,icon,添加库,二进制文件) (...

网友评论

    本文标题:<安全攻防之通用二进制文件>

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