某信多开,消息防撤回实现
(编辑:jimmy 日期: 2024/12/28 浏览:3 次 )
废话不多说,简单的讲一下怎么确定到多开的位置和消息撤回的位置。 注意:当前使用版本3.7.0.30
首先要对某信进行信息收集确定主模块,很快就能得知某信的主模块是V2VDaGF0V2luLmRsbAo=
常用的防多开的方式有进程隐藏、窗口标题修改(使用FindWindow API函数)、DLL全局共享、互斥体等,而某信防多开的原理恰好是利用的互斥体 而在Windows系统中创建互斥体的函数是CreateMutexW()
所以在dbg中在此处下断点,运行到用户代码。汇编代码如下所示
根
[Asm] 纯文本查看 复制代码
消息防撤回
在该V2VDaGF0V2luLmRsbAo=模块中搜素字符串revokemsg
然后你可以看到 一堆带有revokemsg的字符串,这时候要怎么去确定哪个是的?
可以一个个跳转进去看一下,但是还有个更加简单的。找到只含有revokemsg的字符串的。
到汇编代码处尽量向上下个断点调试一下即可
汇编代码如下所示
[Asm] 纯文本查看 复制代码
按照给出的提示修改信息即可
首先要对某信进行信息收集确定主模块,很快就能得知某信的主模块是V2VDaGF0V2luLmRsbAo=
常用的防多开的方式有进程隐藏、窗口标题修改(使用FindWindow API函数)、DLL全局共享、互斥体等,而某信防多开的原理恰好是利用的互斥体 而在Windows系统中创建互斥体的函数是CreateMutexW()
所以在dbg中在此处下断点,运行到用户代码。汇编代码如下所示
根
[Asm] 纯文本查看 复制代码
5D7EDD85 | 50 | push eax |5D7EDD86 | 6A 00 | push 0x0 |5D7EDD88 | 6A 00 | push 0x0 |5D7EDD8A | FF15 50A3755E | call dword ptr ds:[<&CreateMutexW |5D7EDD90 | 8BF8 | mov edi,eax |5D7EDD92 | C685 07FCFFFF 00 | mov byte ptr ss:[ebp-0x3F9],0x0 |5D7EDD99 | 85FF | test edi,edi |5D7EDD9B | EB 23 | jmp wechatwin.5D7EDDC0 | 实现多开更改处 原本是je 将je改为jmp 保存即可5D7EDD9D | FF15 F8A2755E | call dword ptr ds:[<&GetLastError |5D7EDDA3 | 3D B7000000 | cmp eax,0xB7 |5D7EDDA8 | 75 10 | jne wechatwin.5D7EDDBA |5D7EDDAA | 57 | push edi |5D7EDDAB | C685 07FCFFFF 01 | mov byte ptr ss:[ebp-0x3F9],0x1 |5D7EDDB2 | FF15 88A2755E | call dword ptr ds:[<&CloseHandle> |5D7EDDB8 | EB 06 | jmp wechatwin.5D7EDDC0 |5D7EDDBA | 893D 3876DD5E | mov dword ptr ds:[0x5EDD7638],edi |5D7EDDC0 | 85F6 | test esi,esi |5D7EDDC2 | 74 09 | je wechatwin.5D7EDDCD |5D7EDDC4 | 56 | push esi |5D7EDDC5 | E8 4BDED400 | call wechatwin.5E53BC15 |
消息防撤回
在该V2VDaGF0V2luLmRsbAo=模块中搜素字符串revokemsg
然后你可以看到 一堆带有revokemsg的字符串,这时候要怎么去确定哪个是的?
可以一个个跳转进去看一下,但是还有个更加简单的。找到只含有revokemsg的字符串的。
到汇编代码处尽量向上下个断点调试一下即可
汇编代码如下所示
[Asm] 纯文本查看 复制代码
5CE9D799 | 68 B811915E | push wechatwin.5E9111B8 | 5E9111B8:"pStrRootName is %s, not sysmsg"5CE9D79E | 68 84A4995E | push wechatwin.5E99A484 | 5E99A484:"ChatMgr"5CE9D7A3 | 68 4CAA995E | push wechatwin.5E99AA4C | 5E99AA4C:"ChatMgr::IsRevokemsg"5CE9D7A8 | 68 7C040000 | push 0x47C |5CE9D7AD | C600 02 | mov byte ptr ds:[eax],0x2 |5CE9D7B0 | 8970 08 | mov dword ptr ds:[eax+0x8],es |5CE9D7B3 | E8 B8293400 | call wechatwin.5D1E0170 |5CE9D7B8 | 83C4 70 | add esp,0x70 |5CE9D7BB | EB 42 | jmp wechatwin.5CE9D7FF |5CE9D7BD | 68 8411915E | push wechatwin.5E911184 | 5E911184:"type"5CE9D7C2 | 8BCF | mov ecx,edi |5CE9D7C4 | E8 4784F600 | call wechatwin.5DE05C10 |5CE9D7C9 | 85C0 | test eax,eax |5CE9D7CB | EB 32 | jmp wechatwin.5CE9D7FF | 修改的地方--je被改为jmp--消息防撤回点5CE9D7CD | B9 14AA995E | mov ecx,wechatwin.5E99AA14 | 5E99AA14:"revokemsg"5CE9D7D2 | 8A10 | mov dl,byte ptr ds:[eax] |5CE9D7D4 | 3A11 | cmp dl,byte ptr ds:[ecx] |
按照给出的提示修改信息即可
下一篇:关于加密锁共享的一些个人经验(详细版)