iOS反编译

来源:互联网 发布:增强手机信号的软件 编辑:程序博客网 时间:2024/05/16 12:35
上架至App Store的app,被apple加密了。想要反编译要麻烦许多。但是在debug下产生的ipa或者是release下的ipa包或者是渠道包都能直接反编译。首先介绍针对Xcode导出的ipa包的反编译。需要用到软件 :class-dump 和 Hopper Disassembler。软件下载地址如下: class-dump  链接: https://pan.baidu.com/s/1skR6ljv 密码: tfgfHopper 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

)
这里写图片描述
移动过程中如果提示 “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 (此处填写如下文件路径)
获取文件

终端截图

终端执行成功后,打开文件夹就可以看到包内的.h文件
这里写图片描述

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

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

0 0