ios端的app在上线前会由app store添加一个二进制文件,类似于android的混淆处理,用于防止反编译,但是往往有时候出于一些不可描述的动机,我们会想像一些大牛们学习一些经验,孔乙己说过:读书人窃书不算偷,带着一颗批判的心,我学习了一下反编译的技术,在此做一个简单的记录(手动滑稽)。
总的来说,反编译技术可以概括为以下几步:
- 脱壳
- 获取源码.h文件
- 获取关心的伪代码
脱壳
脱壳即脱去app的二进制加密外壳,从而得到这个app的ipa包的过程。有一些第三方的工具,这里介绍一款叫clutch的东西,使用简单易上手。
(友情提示:如果你的手机没有越狱,看到这里就可以结束了,因为接下来的步骤需要一台已越狱的手机)
首先去GitHub下载clutch:https://github.com/KJCracks/Clutch/releases
直接下载最新版即可。下载后把你下载的文件命名为 clutch ,然后使用iTools、ifunbox之类的工具把你的clutch文件放进越狱手机的Device->usr->bin
目录下。
注意:
1. 不是user,是usr。。。别问我为什么在这提醒你。。我也蛋疼过。。。
2. 可以不把你的clutch xx.x.x命名成clutch,但是一定要记住你的clutch文件叫什么,因为下面的操