iOS软件逆向工程指的是在软件层面上进行逆向分析的一个过程。读者如果想要达到对iOS软件较强的逆向分析能力,最好能非常熟悉iOS设备的硬件构成、iOS系统的运行原理,还要具备丰富的iOS开发经验。
比如:拿到一个App之后能够清晰地推断出这个App使用的技术,包括引用了哪些framework、哪些经典的第三方代码,以及整个App工程大致的文件个数、大致的代码行数,另外,还要想象一下如果由自己来组织设计开发,需要投入的人员、时间和精力等。
这要求高吗?其实真的不算高!不过,这些条件都是充分非必要的。如果你目前还不具备这些技术条件,那么有两个必要条件则一定要满足:强烈的好奇心和锲而不舍的精神。
因为,在iOS软件逆向工程中,好奇心会驱动你去钻研经典的App,而在钻研的过程中会遇到一系列的困难和障碍,各种各样的技术坑,别人埋的、自己挖的,此时就需要锲而不舍的精神来支撑你一步步向前走。但是请相信,在投入大量精力去编写代码、调试程序、分析逻辑之后,你会在不断的试验和错误中感受到逆向工程的艺术之美。