今天分析一下同意好友请求的call,这个需要两个参数,v1和v2,这两个参数哪里来呢,就是在别人加你的时候,收到的消息里面含有的参数,我们可以用一个小号加下自己的微信,然后这边接收到个xml消息,里面含有一些信息,
![image.png](https://static.golangjob.cn/220420/69c369f1860ba5fbb9493cfb950a3d36.png)
然后我们附加微信到CE,把v1复制进去查找,在PC微信页面随便切换一下,再次搜,左边地址变的更少,
![image.png](https://static.golangjob.cn/220420/9b7d72f7f4479651fa9f31391ebbb0e0.png)
把过滤出来的地址,移到下面,然后我们观察这个地址,一般是地址间隔大的,概率高,所以我们先从间隔大的入手,我们在OD下一个内存访问断点,然后在PC微信点击一下别人请求的同意加好友按钮,发现断点没有,说明这个地址不是的,然后我们在CE再复制一个地址,试第二个,同样的流程,看看断点是否端下来,然后试了几个地址,最终一个地址,断点断下来了,
![image.png](https://static.golangjob.cn/220420/b2400a49b1ceaf14ffe6fdd414fa476a.png)
然后删除这个断点,在右下角窗口,右键,在反汇编窗口中跟随,返回上一层,在左上角窗口,下一个断点,然后再在PC微信点击一下同意,发现断下来了,调试一下这个断点,发现他给eax赋值了,然后把里面一个关键的call删掉,运行过去,发现点击同意按钮的时候没有提示,再恢复后,又可以提示了,说明这个call很关键。
![image.png](https://static.golangjob.cn/220420/2d8ee63616bb91827607365517370988.png)
![image.png](https://static.golangjob.cn/220420/416e9de3adc5c2b764870e9825404685.png)
通过调试,找到各个参数需要的call。然后这个理解了的话,比如自动收款,也就通了。
目前已经实现了大部分功能,运行稳定,比如:发各种消息,
接收各种消息,群管,下载文件,加好友,检测僵尸粉,获取朋友圈,点赞发评论等等功能,
可提供接口,方便各种语言二次开发,欢迎技术交流。
![微信图片_20220420212054.jpg](https://static.golangjob.cn/220420/dcd42ecb0b486ab60e38ed3e551b2a9e.jpg)
有疑问加站长微信联系(非本文作者))