iOS 逆向工程(十三)之加壳与脱壳

加壳:利用特殊算法,对可执行文件的编码进行改变(压缩、加密),达到保护程序代码的目的

脱壳:去掉壳程序,将未加密的可执行文件还原出来,或者称砸壳

脱壳方式:硬脱壳、动态脱壳

脱壳工具:Clutch(弃用)、dumpdecrypted(弃用)、frida、crakerx、flexdecrypt、bagbak

手机安装App的ipa文件位置:/var/containers/Bundle/Application/

判断是否加密: otool -l  Mach-O文件名 | grep crypt

flexdecrypt安装:

下载地址:https://github.com/JohnCoates/flexdecrypt/releases/download/1.1/flexdecrypt.deb

安装方式一:

1.下载flexdecrypt.deb文件;

2.将flexdecrypt.deb 拷贝到手机的 /var/root/Media/Cydia/AutoInstall目录;

3.在手机上通过Filza资源管理工具定位到 /var/root/Media/Cydia/AutoInstall ,点击安装;

4.远程登录iPhone5s,输入 killall SpringBoard (重启手机桌面)回车;

5.登录手机终端条件下,输入 flexdecrypt 回车;

安装方式二:

1.登录手机终端后,直接输入 wget https://github.com/JohnCoates/flexdecrypt/releases/download/1.1/flexdecrypt.deb

2.输入安装指令 dpkg -i flexdecrypt.deb 回车;

脱壳操作:

1.登录iPhone5s后,输入 ps -A 回车,寻找要脱壳的的软件;

2.输入指令 flexdecrypt /var/containers/Bundle/Application/1EB14B56-6B19-442F-8289-A7A5D8290E5E/MobileMail.app/MobileMail 回车;

3.将 /tmp/MobileMail 路径下的 MobileMail 拷贝到Mac 工作文件夹, 用Hopper Disassembler 查看脱壳后的Mach-O文件

a.在Mac终端输入 scp -P 10010 root@localhost:"/tmp/MobileMail" ~/Desktop/jail_work 回车

b.Hopper Disassembler 查看Mach-O文件

Tips:不是所有的App都能使用flexdecrypt脱壳:WeChat、Aweme、唱吧脱壳失败,后续再填坑

猜你喜欢

转载自www.cnblogs.com/akiha/p/13377935.html