如何让 Mac 版微信客户端防撤回

2018-07-20 15:36:33 浏览数 (1)

其实这件事情技术含量不大,而且网上之前就有过其他教程,稍微看得懂一点汇编的都可以改。但是先前的文章对于一些细节都没有讲得很清楚,因此我这篇其实是补完。

由于文内有较多链接,微信内看的话请点击右上角 在浏览器打开

  • 工具准备 不得不说 Hopper Disassembler 是个好东西,就是下载起来麻烦了些,昨晚搞了半天,在猫猫的帮助下搞到了这工具,还是把它放在自己的服务器上比较好 >_< 点击下载 Hipper Disassembler http://diy.ourocg.cn/download/HopperDisassembler.dmg
  • 反编译程序 整个反编译的过程很简单,找到微信的二进制程序,拖进 Hopper Disassembler 就可以了,一般情况下,微信的程序路径在 /Applications/WeChat.app/Contents/MacOS/WeChat。 反编译的过程是比较慢的,必须等待右下角的 Working 字样消失才可以进行操作,否则程序可能会卡住或是闪退。当看到下方日志栏出现 Background analysis ended 字样时,表示反编译已完成。
  • 查找关键函数 关键函数就一个,参考前人的经验,直接找 onRevokeMsg
  • 修改 将光标放在第一行 push rbp 后面的 rbp 上,按Option A ,输入 ret 并点击 Assembler and Go Next,此时窗口会跳到下一行,按 ESC 退出即可。
  • 重建可执行文件 按 Shift Command E 键来重建可执行文件,在此之前,程序会提示你要移除签名,选择 Yes 就可以,默认会把重建的程序保存在 Documents 目录内。
  • 替换文件 将生成的可执行文件替换到微信里就可以了,当然你需要先关闭微信,在反编译和修改的过程中,你还是可以正常使用微信的,并不需要关闭了才能改。 $ cd /Applications/WeChat.app/Contents/MacOS/ $ sudo mv WeChat WeChat.bak $ sudo cp ~/Documents/WeChat ./ $ sudo chmod 755 WeChat 搞定后直接运行微信客户端即可看到效果。
  • 下载 方便起见,我直接提供我改好的可执行文件,懒人可以直接做最后的替换步骤 http://diy.ourocg.cn/download/WeChat.zip 其他要说的 Hopper Disassembler 包含了很强大的生成伪代码的功能,可以帮助开发者整理逻辑,但是这个功能似乎很多人说找不到,其实很简单的,把光标移动函数名称上然后按 Option Enter 即可。

这样生成伪代码,一次只能一个函数,略显不便,这里也安利一个看雪大牛的程序,他实现了批量导出伪代码的功能,相当的赞。

代码语言:javascript复制
  $ git clone https://github.com/poboke/Class-Decompile

0 人点赞