ios逆向- 01逆向原理&Class-dump安装及获取头文件

逆向原理

动态调试 通过界面调试Cycript\Xcode LLDB!
静态分析 利用之前学习的汇编代码,分析三方APP的源码!
代码注入 注入的其实是动态库!HOOK代码 改变原来程序的执行流程!
重签名  安装在非越狱手机上面

Class-dump

  • 下载地址http://stevenygard.com
  • 也可以安装monkeyDev其自带Class-dump,下载地址:https://github.com/AloneMonkey/MonkeyDev/wiki/%E5%AE%89%E8%A3%85
  • 注:如过是自己安装的Class-dump 要cd到其所在文件夹运行指令。

usr目录介绍

1.打开终端切换目录到最上层目录:

cd /
la    //查看所有文件包括隐藏文件
cd /usr    //unix system resource 系统文件 为隐藏文件
ls  //进入usr文件夹 查看目录

2.至此目录中会出现两个文件夹 bin 和 local,下面来介绍写两个文件的区别:

  • bin中文件是系统预装的可执行文件,其会随着系统的升级而改变,所以一般自己常用的可执行文件不放在里面。
  • cd 进local 里面也有个bin在这个bin里面可以放自己的可执行程序,如果想自己安装Class-dump那么推荐装到local -> bin 中,其不会因为系统升级问题受到影响。

3.终端输入以下代码

echo $PATH

系统搜索顺序是根据这路径来的,搜到哪个就用哪个。

/opt/MonkeyDev/bin:/Users/xiaobai/.rvm/gems/ruby-2.2.2/bin:/Users/xiaobai/.rvm/gems/ruby-2.2.2@global/bin:/Users/xiaobai/.rvm/rubies/ruby-2.2.2/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/xiaobai/.rvm/bin

4.上面是我的mac搜索路径,可以看出首先第一个搜索的就是monkeyDev下面的bin文件。

Class-dump获取app头文件

1.下载pp助手下载越狱包(这边就不展示了)。
2.打开方式zip归档工具打开->Payload->xxxx.app.
3.右击显示包内容->找到MachO文件一般跟app同名白底的不带后缀的(不确定可以看下包大小比较大就是了)。
4.新建头文件存储文件夹(appHeader)打开终端cd到本目录。
5.输入以下代码

class-dump -H xxxx -o appHeader/

注:-H 头文件的意思 xxxx为MachO文件的名字不带后缀 -o为output意思 如果没有-o及后面的代码 则会print出来 appHeader为文件输出路径
6.运行效果:


ios逆向- 01逆向原理&Class-dump安装及获取头文件_第1张图片
class-dump获取头文件

7.完成,如上图最后导出的头文件有11602个,大家一看就只到是啥软件了吧。

8.头文件较多可以安装Visual Studio code查看因为Visual Studio code加载还是比较快的,但是放在xcode里面看头文件会比较卡(土豪高配忽略本条)。

注:这边获取头文件的方法用的monkeyDev自带的class-dump,自己下载class-dunp也可以可能操作略有不同大家可以自己试试。

你可能感兴趣的:(ios逆向- 01逆向原理&Class-dump安装及获取头文件)