iOS逆向基本知识2:指针&MachO文件

指针


1.指针自增、自减的结果,其实就是指针指向的数据类型宽度决定的!

2.指针加上或减去一个整数的结果,其实就是指针指向的数据类型宽度决定的!

3.指针求差,得到的结果是整形,其结果和指针指向的数据类型宽度有关!

4.这也就是指针的特点! 它的运算单位 是数据类型的宽度!

逆向原理


动态调试 通过界面调试Cycript\Xcode LLDB!

静态分析 利用我们之前学习的汇编代码,分析三方APP的源码!

代码注入 注入的其实是动态库!HOOK代码 改变原来程序的执行流程!

重签名 安装在非越狱手机上面

class-dump


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

MachO文件


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

常见的格式:

1.可执行文件 

2.objcet

    .o 文件(目标文件)

    .a 静态库文件.其实就是N个.o文件的集合

3.DYLIB: 动态库文件

        dylib

        framework

4.动态连接器

5.DSYM

动态库共享缓存

            dynamic linker

            dynamic loadel


拆分二进制文件


经常用于整合静态库

瘦身

$ lipo002--可执行文件 -thin armv7 -output macho_armv7

$ lipo002--可执行文件 -thin armv64 -output macho_armv64

整合

$ lipo -createmacho_armv7 macho_arm64 -outputmachO_v7_64

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容