美文网首页
陈超众-逆向微信入门

陈超众-逆向微信入门

作者: 陈超众 | 来源:发表于2017-03-15 21:45 被阅读224次

    准备工作

    越狱手机

    iPhone 软件/插件:

    cycript
    OpenSSH

    Mac 软件:

    iFoxBox
    Theos

    第一步:砸壳

    1. 执行命令$ssh root@你的手机IP
    2. 查找你要砸壳的应用位置 : root# ps -e : 例如:/var/mobile/Containers/Bundle/Application/86CE59CF-4B2E-403A-987F-A3C241820946/WeChat.app/WeChat
    3. 查找BundleIdentifier记下,后面写Theos会用到:root# cd /var/mobile/Containers/Bundle/Application/86CE59CF-4B2E-403A-987F-A3C241820946/WeChat.app/
      root# cat Info.plist
      搜索CFBundleIdentifier 找到bundleid com.tencent.xin
    4. root# cycript -p WeChat
      5.cycript中寻找沙盒路径:cy# [[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask][0]
      得到沙盒: /var/mobile/Containers/Data/Application/55AB4B6E-581B-4ECB-9441-13048437A132/Documents/
    5. 将砸壳工具dumpdecrypted.dylib拷贝到沙盒目录下:$ scp Users/chenchaozhong/Desktop/iOS\ 逆向相关/iOSReverse/dumpdecrypted/dumpdecrypted.dylib root@你的手机IP:/var/mobile/Containers/Data/Application/55AB4B6E-581B-4ECB-9441-13048437A132/Documents/
    6. 到沙河下开始砸壳:root# cd /var/mobile/Containers/Data/Application/55AB4B6E-581B-4ECB-9441-13048437A132/Documents/
      砸壳命令: root# DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/mobile/Containers/Bundle/Application/86CE59CF-4B2E-403A-987F-A3C241820946/WeChat.app/WeChat
    7. 将砸完壳的文件拷贝到电脑 $ scp root@你的手机IP:/var/mobile/Containers/Data/Application/55AB4B6E-581B-4ECB-9441-13048437A132/Documents/WeChat.decrypted /Users/chenchaozhong/Desktop/weixin/decrypted/
    8. 的到应用的头文件: $class-dump --arch armv7 -H /Users/chenchaozhong/Desktop/weixin/decrypted/WeChat.decrypted -o /Users/chenchaozhong/Desktop/weixin/header
    9. 得到.m 的汇编: 将WeChat.decrypted拖到Hopper;

    动态调试

    1.$/Users/chenchaozhong/Desktop/reverse/USBSSH/tcprelay.py -t 22:2222 1234:1234
    2.$ssh root@localhost -p 2222
    3.root#debugserver *:1234 -a "WeChat"
    4.$process connect connect://localhost:1234

    第二步:编写Theos

    1. $ /opt/theos/bin/nic.pl
      填写一些信息就创建完成了

      7B4D406C-38B4-4B89-983F-BD57C4D68489.png
    2. Makefile文件

    79D03C53-5C09-4984-96D6-43BC0EA504DF.png
    1. Tweak.xm
      我们在appdelegate里放一个alert 告诉我成功进入微信;


      6D972C68-221C-4AA1-9D33-498F625559A4.png

    简单介绍tweak语法

    tweak语法

    1. %log
      要求:%hook 内部使用,
      作用:将函数名,参数写入syslog
    2. %orig
      要求:%hook 内部使用
      作用:执行原始代码,还可以更改原始参数
    3. %group
      要求:必须以%end结尾,必须配合%init使用
      作用:管理hook
    4. %init
      要求:%hook或%ctor内调用
      作用:初始化指定的group,如果不带参数,初始化_ungrouped
    5. %ctor
      隐式定义了
      %ctor
      {
      %init(_ungrouped);
      }
    6. %new
      要求:%hook内部使用,
      作用:给现有class添加新函数,动态
    7. %c
      要求:%hook内部使用
      作用:等同于objc_getClass或NSClassFromString
      /*****************end**************************************/

    第三步:安装tweak

    直接运行, 编译并安装: $ make package install

    第四步: 启动微信

    相关文章

      网友评论

          本文标题:陈超众-逆向微信入门

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