美文网首页
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