LuckySpeeder-解
这篇文章记录 LuckySpeeder 的开发过程,是如何在非越狱的 iOS 中实现的。
这篇文章需要懂一些 ARM64架构、Mach-O 文件格式、链接器、内存、UI渲染逻辑、UI层级设计等各种乱七八糟的知识。
这篇文章记录 LuckySpeeder 的开发过程,是如何在非越狱的 iOS 中实现的。
这篇文章需要懂一些 ARM64架构、Mach-O 文件格式、链接器、内存、UI渲染逻辑、UI层级设计等各种乱七八糟的知识。
此文章可能引起不适,如果有 Rust 小鬼路过千万千万千万不要试图进来。
此文可能引起不适,网易雷火的狗千万别点进来
此文可能引起不适,上城废物/导演养的狗/双城吹子 千万别点进来
此文章可能引起不适,如果有路过的只写过 C++ 的脑残傻逼别点进来。
以 SpringBoardServices
为例。
这篇文章只是记录我在编写程序时遇到问题的解决过程,文章最下方会放代码链接。
!!!注意,这篇文章中提到的性能优化方式基本仅适用于指针链扫描,不适用其它业务。
!!!这篇文章并不是接着上一篇文章写的,但有很多关联,不过很多代码,逻辑,已经发生变化。
ASLR导致程序内存地址在启动程序时始终不同。所谓的“静态”地址是相对于程序代码(BinaryFile)的地址。有了静态地址,一旦找到它,你就可以稳定计算出这个地址,因为加载程序(BinaryFile)的地址很容易找到。不幸的是,并非所有感兴趣的内存都是“静态的”,因为这些要么需要代码黑客(通常称为ASM HACK),要么需要指针链(找到此链的过程通常被称为指针搜索)。