.我们的app首先是经过我们写代码、最后经过签名、打包最后生成.app文件,那么这个.app的文件在哪里呢,我用我自己的项目做个例子大致他的位置在这里:
他这个其实就是包含我们项目中的资源和我们写的代码,我们要学习逆向那么其实就是对这个.app里面的内容进行破解。我们这个.app创建一个Payload文件夹然后在进行压缩之后就是我们的ipa包,那么这个ipa的包就可以安装到手机上了。
我们来show In finder->显示包内容, 来看看他里面道理存在什么东西
我们可以看到他里面有一些资源文件,xib、.car(图片的一些资源)、app启动的图标、还有一个和我们的项目名同名的表面上看不出后缀的文件,那这个文件其实就是我们的代码编译过后生成的Mach-o文件,那么我们逆向实际上就是对这个文件进行破解。
app装到手机上的过程
1.直接用xcode进行安装。 2.用itools 、pp助手什么的安装 3.用appstore来进行安装。
逆向的大致思路
class-dump使用和展示
效果1.首先我们到他的官网去下载(stevenygard.com/projects/class-dump/),其中他有几种格式
我下载的是第一个dmg格式的,打开找到这个文件
我们将这个黑色的东西拷贝到我们的mac上的/usr/local/bin目录下,其实我们终端在执行命令的时候默认会去/usr/bin目录下和/usr/local/bin下去查找,但是/usr/bin目录是不允许你加东西的,就算是管理员权限也不行。这就解释了为什么我们运用cd是可以的,如图
所以我们需要将class-dump加到/usr/local/bin目录下。 他的常用指令如下:
class-dump Mach-o文件的路径
或者将Mach-o文件破解后导出到某一个地方
class-dump -H Mach-o文件的路径 -o 头文件的路径
注意:class-dump只能导出头文件 下面是我的演示:
经过比较
他还原的虽然不是100%那么准但是大体上看差不多了(左边是还原的,右边是真实的源码)