微信Hook

准备工具

   · yololib (注入神器,终端直接注入.dylib到微信的Mach-O)

   · dumpdecrypted.dylib (砸壳神器)

   · iOSOpenDev (越狱开发环境,编写业务逻辑)

   · PP助手 - iTools - iTunes (安装ipa工具)

   · class-dump (dump破壳后可执行文件中的所有.h文件)

   · Xcode  (IOS开发工具)

   · 企业证书 (重签名)

   · Cycript (命令行下和应用交互)

   · OpenSSH (远程连接越狱机器)

砸壳

1.首先App Store下载最新版微信,安装到已经越狱手机上面。

微信Hook_第1张图片

2.打开Mac的终端,用ssh进入连上越狱机器(确保越狱机器和Mac在同一个网段,笔者iPad(9.2)的IP地址为192.168.34.238)。OpenSSH的root密码默认为alpine。


微信Hook_第2张图片

这个时候我们已经顺利获取了iPad的root权限(root相当于Windows中的administrator,权限最高 可读写)

3.接下来就是要获取iPad当前的进程了 控制台输入 ps ax  或者 ps -e

微信Hook_第3张图片
开头的1570是进程id 后面一长串字符是app的安装路径

4.通过Cycript与进程交互获取应用的沙盒路径,通过 NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES)[0]  动态获取

ps: 手机端貌似是用 [[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomans:NSUserDomainMask][0] 获取沙盒路径的


微信Hook_第4张图片

5. 拷贝dumpdecrypted.dylib到iPad沙盒的Documents 动态破壳

        5.1: 终端执行  scp ./dumpdecrypted.dylib [email protected]:沙盒路径

微信Hook_第5张图片

     5.2 开始砸壳 

          dumpdecrypted.dylib的具体用法是:DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib 应用安装路径

微信Hook_第6张图片


到这里基本就已经砸壳完毕了 直接在当前终端目录 ls 查看

WeChat.decrypted 这个就是砸壳之后微信的可执行文件(Mach-O) 用class-dump可以导出微信所有的头文件 通过头文件可以看到微信所有公共函数的定义

- (void)AsyncOnAddMsg:(id)arg1 MsgWrap:(id)arg2;  微信消息函数的主入口

- (void)OpenRedEnvelopesRequest:(id)arg1;  抢红包函数

这两个参数就是自动抢红包的主角~~~~~

讲WeChat.decrypted拷贝的桌面 等待注入

编写动态库(.dylib)

打开安装了iOSOpenDev的XCode 选择Coco Touch Library

微信Hook_第7张图片


Hook消息函数 红包的Type值是49 语音 图片 文字各不一样





微信Hook_第8张图片


注入动态库(yololib)

    将桌面的WeChat.decrypted改名为WeChat 

    终端通过 yololib 注入 



微信Hook_第9张图片


注入成功之后 可以查看可执行文件的结构信息


微信Hook_第10张图片

这个就是刚刚编写的动态库的路径 自动抢红包功能全靠它~

@executable_path//Users/LBG/Desktop/libautoGetRedEnv.dylib (compatibility version 1.0.0, current version 1.0.0)这个路径是绝对路径 安装到手机之后会因为找不到这个动态库而程序闪退(尼玛~  这个坑硬是爬了几天才爬出来 )

我们要做的就是修改路径 

install_name_tool -change 原来的路径 新的路径 可执行文件

install_name_tool -change @executable_path//Users/LBG/Desktop/libautoGetRedEnv.dylib @executable_path/libautoGetRedEnv.dylib /Users/LBG/Desktop/WeChat

之后将 注入过动态库的可执行文件  embedded.mobileprovision  entitlements.plist  libautoGetRedEnv.dylib一起放入微信app 签名打包之后就可以安装了~ 

重签名(企业证书)

下章详细讲解重签名过程,淘宝有卖签名工具 价格500到2000不等 ,有时间我也打算用脚本或者swift写一个。

你可能感兴趣的:(微信Hook)