ps:
本文所有测试基于64位计算机
由于计算机内部是小端读取内存的(因此都是向后读取内存)
本文基于Swift4.2, Xcode10.0
Swift数组越界分析
发表于
|
分类于
Swift
通常我们去获取奔溃日志都是通过NSSetUncaughtExceptionHandler这个API得到NSException对象的信息。对于NSArray对象的数据越界是有用的,但是对于Array的数据越界是不会触发这个方法的。
LLVM学习笔记-Clang和SwiftC常用指令使用
发表于
|
分类于
LLVM
最近开始研究代码混淆这反面的东西,发现混淆最好的地方是在编译过程中。这样不会影响正常的业务开发,对源码无侵害。顾开始学习LLVM,当然主要学习的是LLVM的Pass层。
对LLVM不太清楚的可以看看关于LLVM,这些东西你必须知道!
iOS逆向学习笔记(三) 静态分析
发表于
|
分类于
逆向
通过界面分析调试以及class-dump出的头文件信息。后面说到Theos时,还可以通过Theos的logify.pl(logify.pl file.h >xxx.xm)对整个类的所有方法进行hook,动态调试时可以打印hook的函数调用的信息或者通过Mac自带的控制台可以查看被hook的方法的调用信息~
通过以上三种方法大致能定位函数的具体位置,但是如何分析该函数的具体逻辑呢?
iOS逆向学习笔记(二) App解密与class-dump
发表于
|
分类于
逆向
通过class-dump可以获取到App的头文件,而头文件又有一些属性以及方法等信息,通过这些信息以及界面调试能够大致猜出目的函数的位置。但是由于苹果商店的APP的代码被加密过,在运行时才会解密,因此需要将可执行文件先进行解密。
iOS逆向学习笔记(一) 界面分析
发表于
|
分类于
逆向
iOS逆向学习笔记
发表于
|
分类于
逆向
最近买了庆总的《iOS应用逆向与安全》,学习过程中,记录下自己的总结,以后忘了好方便来查。。。(强烈建议买一本回去读,能够系统性的学习逆向方面的知识。如果基础不够可以再买一本狗神的小黄书《iOS应用逆向工程》)
逆向了解
通过越狱获取手机的root权限后,访问整个手机的文件系统,编写动态库注入到指定的应用中。