美文网首页
iOS砸壳&&Theos

iOS砸壳&&Theos

作者: heart_领 | 来源:发表于2018-06-04 12:04 被阅读41次

一、概述

从App Store下载的应用是加过壳的,加壳的应用是不能直接执行的,手机之所以能够使用下载的app,是因为操作系统有解密的方法。

Mach-O文件 -> 苹果加密 -> 加壳文件

加壳文件 ->系统解密 -> Mach-O文件(DYLD)

1.DRM(数字版权管理)检查 

2.找到合适的架构进行解密 

3.使用DYLD加载解密的MachO

砸壳工具(GitHub上)

*Clutch  (静态砸壳)

*dumpdecrypted (动态砸壳)

二、砸壳

1.使用Clutch砸壳(使用Clutch砸壳需要拷贝到越狱设备上)

$ file Clutch-2.0.4

1.1先映射之后,再拷贝到越狱设备的bin目录下,放在bin目录下,在其他地方也可以使用clutch的命令

$ scp -P 12345 Clutch-2.0.4 root@localhost:/usr/bin (拷贝)

1.2在“~/”目录下输入clutch命令没有提示,需要修改下名字才会有提示

$ mv Clutch-2.0.4 Clutch (修改Clutch-2.0.4 为Clutch)

1.3添加权限

$ chmod +x Clutch

1.4查看可以砸壳的应用

$ Clutch -i      

1.5砸壳

Clutch -d com.gotokeep.keep

2.使用dumpdecrypted砸壳

$ make 

2.1把动态库拷贝到越狱设备上

$ scp -P 12345 dumpdecrypted.dylib root@localhost:~/

2.2 DYLD_INSERT_LIBRARIES是DYLD(动态连接器)的一个环境变量,DYLD在加载过程中,通过DYLD_INSERT_LIBRARIES添加一个动态库 ,并依附一个进程,使添加的动态库被执行,通过2.3可以看出,添加的动态库被执行了

$ DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib xxx

注意:动态库作用:把内存中可执行文件拷贝出来

把动态库拷贝出来的可执行文件拷到桌面

$ scp -P 12345 root@localhost:~/WeChat.decrypted ~/Desktop

2.3新建动态库test(测试用)(framework动态库下有Mach-O文件test,dylib没有)

因为test.framework是文件夹所以加了个 -r

$ scp -r -P 12345 test.framework/ root@localhost:~/

添加动态库中的可执行文件

DYLD_INSERT_LIBRARIES=test.framework/test xxx(xxx为某个应用的进程)

三.Theos的配置和使用

1.Theos的配置

https://github.com/theos/theos/wiki/Installation

Homebrew安装:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

常用的方式

brew install ldid 安装

brew uninstall ldid 卸载

brew search ldid 搜索

brew upgrade ldid 更新

brew list 查看列表

brew update 更新Homebrew

2.Theos的使用(窃取微信密码)

配置IP和端口

注意:

关于Theos的坑!!!!

1.不要在中文目录下编译工程.否则报错!

2.packageName(包名称),全部小写!!!

打包的问题:make package

Error: IO::Compress::lzma

解决方案两种:

1.安装xz

$ brew install xz

$ sudo cpan IO::Compress::Lzma

2. 改变压缩方式

2.1修改dm.pl 文件

vim $THEOS/$THEOS/vendor/dm.pl/dm.pl

#use IO::Compress::Lzma;

#use IO::Compress::Xz;

2.2修改deb.mk 文件

vim $THEOS/makefiles/package/deb.mk

修改为:

_THEOS_PLATFORM_DPKG_DEB_COMPRESSION ?= gzip

编译的问题:make

Error: You do Not an SDK

需要指定Xcode . 安装过MonkeyDev

make clean 清除缓存!

推荐 

https://www.jianshu.com/p/2efa44f2151f

相关文章

网友评论

      本文标题:iOS砸壳&&Theos

      本文链接:https://www.haomeiwen.com/subject/vvmesftx.html