X64微信逆向之-查找锁定微信CALL
阿冲老师是从2023年开始参考网上微信hook图文等教程跟着大家一样零起点开始学习的,走了很多误区踩了很多坑,现在一眨眼已经2024年了目前网上的教程都停留在旧版本32位微信,因此决定做些新手教程跟大家一起分享,如有写得不好的,还望各位老师们多多指教。(注:教程仅供学习交流使用,请勿用于非法用途与与商业用途)
版本与工具:
X64微信:v 3.9.9.35 、64dgb、Cheat Engine
我们就以找比较简单锁定微信CALL入手,首先找CALL方法很多:
A 有下API函数断点回溯查找。
B 有CE扫描关键数据后下访问断点回溯查找。
C 有根据微信日志回溯查找的。
D 有根据相关字符串定位查找的。
E 还有通过Hook别人的成品数据盗取CALL数据的。
…总之方法很多,大家平时多调试积累经验久了自然都会懂了。
作为新手一开始跟大家一样虽然知道方法很多,但跟大家一样还是有点一头雾水不只从哪个点开始入手调试。于是乎锁定微信、锁定 锁定 叫着 叫着 ,锁定的英文是Lock,猜测关键CALL是不是附近周围存在在Lock关键字。
好了进入正题开始调试分析了:
(1)打开64dgb 拉入微信运行起来找到模块
(2)因为微信大部分功能都在wechatwin.dll里,于是找到用户模块 wechatwin.dll并单击。
(3)然后右键 搜索->当前模块->字符串
(4)因为锁定是个按钮按钮英文是button于是我们输入lockb 进行模糊定位。
(5)我们找到了两个可疑地址,统统下断点排查 ,然后在在跟踪里右键启动运行跟踪。然后点击微信锁定微信功能就断下来了。
(6)然后按F8往下执行,每执行几条指令就去跟踪里查看数据变化
(7)然后去跟踪数据变化里查看指令数据变化,发现寄存器有click事件字符,执行后,F8一步一步执行最后微信锁定了,因此判断锁定微信CALL就下图这几个CALL里面,然后用Nop 去掉或者一 一调用测试 最后发现是最后那两个CALL就是我们要找的锁定微信CALL
(8)最后开始写调用实现功能,我们发现锁定微信CALL它竟然是个无参数的CALL ,调用代码如下
调用后微信成功锁定了。
最后感谢大家的观看,有不懂的的可以提出来大家一起学习进步。