5.4 小结

本章较为完整地介绍了tweak的作用原理及编写简单tweak的思路和流程,佐以真实案例,能够较好地为初学者提供参考。Objective-C级别的逆向工程是iOS逆向工程的第一关,在没有上手IDA和LLDB之前,对iOS的逆向工程不可能深入到什么地步,也没有什么逻辑可言,相信你从案例里也看出来了,我们对二进制文件的逆向非常力不从心,当问题的关键集中在代码上时,解决问题的主要方式就是猜!虽然刚才编写的代码跟iOS自身的实现差了十万八千里,但因为Objective-C函数名的可读性高,所以即使是猜,也还是能利用class-dump出的函数达到预期效果,给自己带来跟App开发完全不同的感觉,让人耳目一新。

在逆向工程初学阶段,我们的主要目的是熟悉越狱iOS环境,了解前几章讲到的各种逆向知识点,在掌握各种工具用法的同时有意识地培养自己的逆向思维。如果时间比较充裕,强烈建议大家通览class-dump出的头文件,把那些语义明显、自己感兴趣的函数放到iOS上实测一下,这个过程能极大地增加你对iOS底层的熟悉程度,配合后续的IDA与LLDB学习,能达到事半功倍的效果。只要我们多思考、勤练习,就能早日提炼出更适合自己的方法,进一步达到更高的水平。