简单实现Mac版微信防撤回
网上Mac微信插件有好多了,也比较成熟,更新后功能好多,
0.准备,自己下载安装theos,和insert_dylib(习惯用optool的也可以)
1.写一个tweak 就是.xm文件.hook掉MessageService的onRevokeMsg:方法(最新版微信自己使用hopper分析找到onRevokeMsg:方法,类好像换掉了)
代码如下:
%config(generator=internal)// You don't need to #include , it will be done automatically, as will
// the generation of a class list and an automatic constructor.#import
%hook MessageService- (void)onRevokeMsg:(id)agr
{
return;
}// Always make sure you clean up after yourself;
Not doing so could have grave consequences!
%end
%ctor {
NSLog(@"!!!!!!---success---!!!!!!!");
}
2.一个脚本保存为insertTweak.sh文件
#
#获取找到APP
path=`ls | grep *.app | head -1`
#找到tweak
tweak=`ls | grep *.xm | head -1`
temp='tempssxxxx'
name=${path%.app}app_executable_backup_path="./${path}/Contents/MacOS/${name}_backup"#使用theos 的logos.pl转换,前面路径看自己theos的路径
/opt/theos/bin/logos.pl "./${tweak}" > "./${temp}.mm"#clang编译生成动态库
clang -shared -undefined dynamic_lookup -o "./${path}/Contents/MacOS/lib.dylib" "./${temp}.mm"#使用optool的就打开这个,关闭insert_dylib
#optool install -c load -p @executable_path/lib.dylib -t "./${path}/Contents/MacOS/${name}"#//先复制一次备份
cp "./${path}/Contents/MacOS/${name}" "$app_executable_backup_path"#使用insert_dylib 注入生成的动态库,找到自己的insert_dylib
/Users/lxmacmini/Desktop/demo/ok/insert_dylib --all-yes @executable_path/lib.dylib "$app_executable_backup_path" "./${path}/Contents/MacOS/${name}"
- 新建一个文件夹把,WeChat.app tweak.xm insertTweak.sh 放到一个文件夹下面.打开终端cd到文件夹下面执行脚本
. insertTweak.sh
【简单实现Mac版微信防撤回】4.看到生成一个tempssxxxx.mm文件,基本就ok了,打开微信登录,撤回消息试试
5.拖到应用程序里面 enjoy!
推荐阅读
- Mac安装Chromedriver
- 关于QueryWrapper|关于QueryWrapper,实现MybatisPlus多表关联查询方式
- MybatisPlus使用queryWrapper如何实现复杂查询
- python学习之|python学习之 实现QQ自动发送消息
- 科学养胃,别被忽悠,其实真的很简单
- 孩子不是实现父母欲望的工具——林哈夫
- MAC安装Mongo
- opencv|opencv C++模板匹配的简单实现
- Node.js中readline模块实现终端输入
- 如何在Mac中的文件选择框中打开系统隐藏文件夹