爬app某个接口的流程

工具:

名称 作用 描述
盘古越狱 越狱 ios越狱
dumpdecryted 把Musical.ly.decrypted文件导出来之后需要用这个工具进行砸壳 因为苹果所有的IPA都是加密的,我们要反汇编,必须要进行砸壳
class-dump 利用Objective-C语言的runtime的特性,将存储在mach-O文件中的@interface和@protocol信息提取出来,并生成对应的.h文件
Cycript 进程注入的工具
hopper 反编译工具利用Musical.ly.decrypted文件 Hopper是一款运行在Mac、Windows和Linux下的调试(os x only)、反汇编和反编译的交互式工具。可以对32、64位的MAC程序、Windows程序和IOS程序(arm)进行调试、反编译等
debugeserver 用来确认目标函数 在未找到签名函数的时候使用
theos 进程注入 利用运行时的方法替换,调试你的目标函数,一般用来确定签名函数。需要自己写代码来hook函数
burp suit 抓包工具,比charles还强大,charles抓https会出现丢包的情况 主要是用来抓https请求
openssh 通过terminal登录越狱手机
socat 在terminal打印log 能够通过命令决定开始和结束,还有内容过滤功能 debug必备
ssh 通过ssh实现面密码登录越狱手机 自动化必备
sshpass 可以在terminal执行手机上的脚本 自动化必备

语言

语言 作用
ios 完成函数hook相关的调试
python 写服务端的脚本、IO操作、数据处理
shell 在iphone上进行IO的操作,工具的自动化的执行

实现思路
通过猜测、debugserver、theos对签名函数进行确认。实现服务端脚本,在custom端请求数据的时候,通过shell和python脚本进行参数的传递,在iphone上用cycript进行签名函数的调用并得到返回值,再通过脚本传回来,发送到custom。

具体操作
1.越狱,太极或者pp越狱助手
2.通过openssh登录iphone
3.使用dumpdecryted进行砸壳,得到xx.decrypted文件
4.使用hopper工具进行反编译得到oc头文件和汇编码
5.使用debugserver和hopper就行配合,逐个函数排除,定位签名函数,并确认签名函数
6.在mac上新建入参文件
7.用python写一个服务端脚本
8.通过脚本把签名函数的入参写入本地的入参文件,把入参文件发送到iphone(sshpass)
9.通过脚本在iphone执行函数的注入,拿到签名字符串,保存到iphone再发送到mac
10.最后通过server发送给客户端

参考资料
dumpdecrypted
逆向工程
hack论坛
class-dump安装
hopper
theos 进程注入
安全技术精粹
cycript进程注入
theos教程
debugeserger教程
移动App入侵与逆向破解技术-iOS篇
Hopper+LLDB
系统log输出
存ssh pub key到手机

iOS有两个进程,一个是developer者进程。一个是appstore的进程。是两套系套。”SpringBoard" 是developer进程的UI根进程
iPhone上需要安装的软件:OpenSSH,Cycript,Vi,shell,sshpass,免密码登录ssh

你可能感兴趣的:(爬app某个接口的流程)