当前的这个IPa包它不是我们普通在APP store上面下载的,这样一个当下的这样一个包,它是一个什么包?它是安装在我们的越狱设备之后,然后被我脱壳之后的 ipa包,明白了吗?能理解这个意思吗?能理解打个1。这个 Ipa包是我脱壳之后的IPa包,那么这个IPA包有什么特点?这里面的所有的源码 text段里面的源码它是没有加密的。是解密之后的那注意脱壳是里面的一个技术,因为我们上传的x多之后, x多会帮我们把应用进行加密处理,那么但是注意加密之后的应用能不能直接被CPU读取执行?
这里有个问题,正好就要问大家,加密之后的应用能不能被CPU直接读取执行,能还是不能,能打个1,不能打个2,那么思考一下,能不能被CPU直接读取执行加密之后的应用。注意了x上面的都是加密之后的,那么只有龙龙同学,说不能吗?还有没有其他同学?回答我的问题,思考一下这个问题。加密之后的应用,APP上面下载的应用能不能被CPU直接读取执行?
Ok,一个带动的所有人,带动了所有人能不能,一还是二?好,我看到大部分同学都打了二,大部分人都是后面选择,后面不能被CPU直接执行,那为什么不能被CPU直接执行?难道我们不是在执行吗?那这里也注意这里,有个小小的来注意这里有小小的知识点, CPU注意答案是什么,答案是不能,我恭喜这些2的同学知道吧,你们对了。答案是不能那么打1的,同学不要灰心,注意,为什么注意?
我们大部分人会思考,应用项目下来我不就直接执行的吗?中间有一个过程,这个过程叫什么?叫做脱密,就是解密。这个解密的过程谁做到的iOS系统,也就是说我们的应用在磁盘里面是加密的,但是注意问,你在内存中我们的应用是加密的还是解密的?听我说话的顺序,你就应该知道我的答案,对不对?是吧?听上课的这个口吻就知道应该是后者吗?对吧?在内存中我说但是在内存中它是解密的,那么这个过程是什么时候做的?当你在运行这个APP的时候,启动这个APP的时候,我们加载这个内存里面的数据的时候进行解密的,明白没有?所以内存中的内存中的代码,也就是我们的可执行文件,它是紧密的,明白吧?