iOS反编译

上架至App Store的app,被apple加密了。想要反编译要麻烦许多。但是在debug下产生的ipa或者是release下的ipa包或者是渠道包都能直接反编译。
首先介绍针对Xcode导出的ipa包的反编译。
需要用到软件 :class-dump 和 Hopper Disassembler。软件下载地址如下: 
class-dump  链接: https://pan.baidu.com/s/1skR6ljv 密码: tfgf
Hopper Disassembler  链接: https://pan.baidu.com/s/1pL4PQVx 密码: vhvu

 class-dump:
   通过class-dump可以看到包里面所有的.h文件对应VC里面的所有方法。首先下载安装包,双击后看到如下内容,拖动如图class-dump文件到桌面。然后移动到usr/bin目录内。(可以用终端命令移动 sudo mv ~/desktop/class-dump /usr/bin

)
iOS反编译_第1张图片
移动过程中如果提示 “Operation not permitted”, 原因是MAC的Rootless机制, Rootless机制是对抗恶意程序的最后防线, 解决办法就是关闭Rootless : 重启按住 Command+R,进入恢复模式,打开Terminal,执行 csrutil disable 。
执行以上操作后,即可顺利实现 sudo mv ~/desktop/class-dump /usr/bin, 这样class-dump就安装成功了。
此时在Terminal中就可以使用class-dump了。
新建一个文件夹, Terminal进入该文件夹,执行命令class-dump -H (此处填写如下文件路径)
iOS反编译_第2张图片

iOS反编译_第3张图片

终端执行成功后,打开文件夹就可以看到包内的.h文件
iOS反编译_第4张图片

   此处就有人会问了,方法名字不重要,关键是需要看到方法里面具体的实现。 此时就要用到Hopper Disassembler这个软件了。 不过此处声明,并不能看到方法的源码,只能通过反编译看到一些伪代码。
   Hopper Disassembler:
   下载解压后,双击打开
   ![这里写图片描述](https://img-blog.csdn.net/20170214203600275?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvU2FuZHlMb28=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)

拖拽文件到软件界面内, 点右上角的if(b)f(x);按钮,我们能看到这个方法的伪代码,大部分的时候我们能从伪代码中看出我们需要的信息。如下图:
iOS反编译_第5张图片

你可能感兴趣的:(IOS开发知识)