Cyrus Blog

FLAG{S0_H4PPY_C_U_H3R3} (>.<)

通过逆向实现MacOS QQ防撤回

本文共 226 字,预计阅读时间 1 分钟。

0x00 前期准备

安装 Hopper Disassembler,可以从 官网 或者 Xclient.info 下载破解版。
安装 QQ,测试版本为版本 5.5.1,经测试直至 6.3.0 可用,更新版本可在备份 app 后自行尝试。

0x01 反编译

把 QQ 拖入主界面,在 labels 搜索 handleRecallNotify,等待上方进度条结束,得到伪代码。进度条可能比较慢。

 
然后把第一行的 push rbp 直接改为 ret,光标在 rbp 处按 option + A 填入 ret,然后提交,光标会自动跳转,直接关闭窗口就行。
之后重建可执行文件,快捷键为 Shift + Command + E,移除签名。

0x02 替换原QQ的可执行文件

在显示 QQ.app 包的内容,把重建的可执行文件替换 MACOS 文件夹下的可执行文件,原文件注意复制备份。
之后重启 QQ,经测试可以防撤回。