zoukankan      html  css  js  c++  java
  • Dumpsdecrypted

    Dumps decrypted mach-o files from encrypted iPhone applications from memory to disk. This tool is necessary for security researchers to be able to look under the hood of encryption.

    源代码只有一个文件 dumpdecrypted.c,文件只有一个函数 dumptofile,程序没有解密逻辑,当它执行时候,加载器已经完成了目标 mach-o 文件的装载,对应的解密已经完成。该函数的工作是从 LC_ENCRYPTION_INFO 遍历所有的 load command,将对应的解密数据从内存中 dump 出来,复写到 mach-o 文件中。

    步骤

    • 安装 OpenSSH, Cycript
    • 下载 dumpdecrypted 源代码
    • 在源代码目录下执行 make 指令,生成一个 dumpdecrypted.dylib
    • ssh root@ip_address,默认密码是 alpine
    • ps -e,找到应用的进程号,以及进程路径
    • cycript -p 进程号,输入下面代码
    • [[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask][0]
    • 从上个指令获取 app document 目录路径
    • ctrl + d,退出 cycript 操作
    • 将 dumpdecrypted.dylib 文件拷贝到 app document 目录下, scp src_path root@ip_address:des_path
    • DYLD_INSERT_LIBRARIES=xxx.dylib_path app进程路径,开始砸壳,完成后会得到一个 .decrypted文件
    • 使用 scp 命令将砸壳后的文件复制到电脑上, scp root@ip_address:src_path des_path
    • 使用 class-dump 获取头文件,class-dump -H WeChat.decrypted -o des_path


    遇到错误

    dyld: could not load inserted library 'dumpdecrypted.dylib' because no suitable image found. Did find:
    dumpdecrypted.dylib: required code signature missing for 'dumpdecrypted.dylib'

    解决方案:

    ## 列出可签名证书
    security find-identity -v -p codesigning
    ## 为dumpecrypted.dylib签名
    codesign --force --verify --verbose --sign "iPhone Developer: xxx xxxx (xxxxxxxxxx)" dumpdecrypted.dylib
    

    涉及软件

    iOS - 10.3.3
    OpenSSH - 6.7p1-13
    Script - 0.9.595
    Fileza File Manager - 3.5.2-1
    测试应用:WeChat, AlipayWallet

    2018-5-25-23

  • 相关阅读:
    如何调试在OJ中的代码
    在linux命令行中调试在OJ上的c++代码
    jar包
    stanford core
    decode encode
    访问服务器,远程访问linux主机
    代码18
    删除列表中的元素
    if __name__ == '__main__'
    苹果要求全部新app以及版本号更新必须支持iOS 8 SDK和64-bit
  • 原文地址:https://www.cnblogs.com/wangyaoguo/p/9084939.html
Copyright © 2011-2022 走看看