美文网首页iOS安全
iOS逆向之WeChat头文件导出

iOS逆向之WeChat头文件导出

作者: 南山青稞酒 | 来源:发表于2017-08-04 18:20 被阅读212次

    iOS逆向之WeChat头文件导出

    操作环境

    • iPhone5 (系统10.0.2) 越狱机
    • mac pro (系统10.12.3)

    准备工作

    • 软件

      • class-dump 下载地址 砸壳工具

      • iFunbox 下载地址(查看文件路径)

      • Cycript (需要越狱手机安装,Cydia中搜一下就有了)调试器

      • dumpdecrypted.dylib 下载地址

    • class-dump 安装过程中的坑

    把下载下来 class-dump脚本复制到~/User/lib,注意!前方高能,这一步就有坑了!!!

    • 10.11后 mac 的机制变了 bin 目录root权限也不可以修改了

    点击上面的下载地址后

    ```
    第一步,打开Terminal,输入mkdir ~/bin,在当前用户根目录下创建一个bin目录;
    
    命令: mkdir ~/bin
    
    第二步,把class-dump给拷贝到这个目录里,并赋予其可执行权限;
    
    命令一: mv /.../class-dump ~/bin    (/.../class-dump是指的class-dump的完整路径) 
    
    命令二: chmod +x ~/bin/class-dump
    
    第三步,打开~/.bash_profile文件,配置环境变量
    
    命令一: vi ~/.bash_profile
    
    命令二: 按 i 键进入编辑模式,写入下面一行代码, export PATH=$HOME/bin/:$PATH    按ESC然后输入冒号(shift+;),然后输入wq,退出即可。
    
    第四步,在Terminal中执行source命令
    
    命令:source ~/.bash_profile
    
    完成以上步骤,在terminal中执行class-dump实验一下,应该就可以了。
    ```
    
    屏幕快照 2017-08-04 下午4.59.26.png

    执行class-dump能看到上面的也页面就说明你安装成功了

    • dumpdecrypted.dylib的坑

      网上的教程和dumpdecrypted.dylib文件太旧了,上面加了我找到的最新的文件,大家可以用了,


    准备工作完成(其他没难度,就不介绍了,有问题留言哈)

    砸壳开始

    • dumpdecrypted.dylib复制到手机上

      我是用usb连接的,所以终端输入

      ssh root@localhost -p 2222
      
      密码:alpine
      
      

      看下是否连接上了

    Snip20170804_14.png

    前缀变成手机的名称,就说明连接成功了,可以开始拷贝了。

    连接后输入 ps -e查看进程

    Snip20170804_15.png

    看到这个 后command + f 搜索weChat

    Snip20170804_16.png
    记住:
    
    603 ??         0:58.86 /var/containers/Bundle/Application/B9ABE60D-681A-4A72-A87E-1C16D3DC1D3A/WeChat.app/WeChat
    

    看到这个603的进程了,然后执行命令,勾住进程

    cycript -p 603
    
    Snip20170804_17.png
    出现 cy#

    cycript 启动,获取沙盒路径

    NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES)[0]
    

    终端打印

    file:///var/mobile/Containers/Data/Application/0B9ED868-97DE-4D2B-9FF7-91CA5CC05BB5/Documents/
    

    WeChat 沙盒路径获取到了,

    切换另一个page

    终端输入

    scp -P 2222 dumpdecrypted.dylib root@localhost:/var/mobile/Containers/Data/Application/0B9ED868-97DE-4D2B-9FF7-91CA5CC05BB5/Documents/
    
    
    Snip20170804_19.png

    将dumpdecrypted.dylib拷贝到沙河

    开始敲壳

    以上都是准备工作,接下来可以正式砸壳了。

    Snip20170804_20.png

    DYLD_INSERT_LIBRARIES=/User/dumpdecrypted.dylib 后拼接 603 进程后面的app路径

    [+] detected 64bit ARM binary in memory.
    [+] offset to cryptid found: @0x1000a0ca8(from 0x1000a0000) = ca8
    [+] Found encrypted data at address 00004000 of length 53149696 bytes - type 1.
    [+] Opening /private/var/containers/Bundle/Application/46316B03-5DC3-4534-8D40-A29FE9315E22/WeChat.app/WeChat for reading.
    [+] Reading header
    [+] Detecting header type
    [+] Executable is a FAT image - searching for right architecture
    [+] Correct arch is at offset 58195968 in the file
    [+] Opening WeChat.decrypted for writing.
    [+] Copying the not encrypted start of the file
    [+] Dumping the decrypted data into the file
    [+] Copying the not encrypted remainder of the file
    [+] Setting the LC_ENCRYPTION_INFO->cryptid to 0 at offset 3780ca8
    [+] Closing original file
    [+] Closing dump file
    
    

    查看成果

    砸壳完毕,会自动在当前目录生成砸壳后的二进制文件 WeChat.decrypted

    回到我们的电脑

    终端输入

    class-dump -H WeChat.decrypted(砸壳后的文件路径) -o [文件夹路径]
    

    等一会。。。。。

    然后见证惊喜吧

    Snip20170804_21.png

    文章中的路径不是固定的 ,自行修改哦

    相关文章

      网友评论

      本文标题:iOS逆向之WeChat头文件导出

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