LuckySpeeder-解

这篇文章记录 LuckySpeeder 的开发过程,是如何在非越狱的 iOS 中实现的。

这篇文章需要懂一些 ARM64架构、Mach-O 文件格式、链接器、内存、UI渲染逻辑、UI层级设计等各种乱七八糟的知识。

Rust 吐槽

此文章可能引起不适,如果有 Rust 小鬼路过千万千万千万不要试图进来。

编写一个通用指针搜索器(2)

!!!注意,这篇文章中提到的性能优化方式基本仅适用于指针链扫描,不适用其它业务。

!!!这篇文章并不是接着上一篇文章写的,但有很多关联,不过很多代码,逻辑,已经发生变化。

编写一个通用指针搜索器(1)

什么是指针搜索

ASLR导致程序内存地址在启动程序时始终不同。所谓的“静态”地址是相对于程序代码(BinaryFile)的地址。有了静态地址,一旦找到它,你就可以稳定计算出这个地址,因为加载程序(BinaryFile)的地址很容易找到。不幸的是,并非所有感兴趣的内存都是“静态的”,因为这些要么需要代码黑客(通常称为ASM HACK),要么需要指针链(找到此链的过程通常被称为指针搜索)。