欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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

程序员文章站 2022-05-16 20:25:58
逆向原理 动态调试 通过界面调试cycript\xcode lldb! 静态分析 利用之前学习的汇编代码,分析三方app的! 代码注入 注入的其实是动态库!hook代码 改变原来程序的执行流程! 重...

逆向原理

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

class-dump

下载地址https://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逆向原理&Class-dump安装及获取头文件

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

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