本帖最后由 冥界3大法王 于 2020-2-18 12:13 编辑
当我们整行的复制x32dbg/x64dbg的代码时:
我们就会得到下面的代码,里边有个|
每次还得替换掉,再保存到我们的汇编笔记中
实在是太烦人了
能不能汇编掉呢?
[Asm] 纯文本查看 复制代码 00D7D730 | 0F85 9B000000 | jne D7D7D1 | 补丁9
00D7D736 | FFD3 | call ebx |
00D7D738 | 84C0 | test al,al |
00D7D73A | 0F84 91000000 | je D7D7D1 | 补丁8(测试通过的
00D7D740 | 33DB | xor ebx,ebx |
00D7D742 | 399E E4050000 | cmp dword ptr ds:[esi+0x5E4],ebx |
00D7D748 | 0F84 83000000 | je D7D7D1 | 补丁7
00D7D74E | 8D8D 63FDFFFF | lea ecx,dword ptr ss:[ebp-0x29D] |
00D7D754 | E8 9719F6FF | call <sub_CDF0F0> |
00D7D759 | 8D8D 63FDFFFF | lea ecx,dword ptr ss:[ebp-0x29D] |
00D7D75F | C645 FC 01 | mov byte ptr ss:[ebp-0x4],0x1 |
00D7D763 | E8 AC84FEFF | call <sub_D65C14> | 补丁5(F7进入后,正是is_vip
00D7D768 | 84C0 | test al,al |
00D7D76A | 75 57 | jne D7D7C3 | 补丁6
00D7D76C | 8B8E 1C050000 | mov ecx,dword ptr ds:[esi+0x51C] |
00D7D772 | 53 | push ebx |
00D7D773 | FF15 70B4EC00 | call dword ptr ds:[<&?SetCheck@CCheck |
00D7D779 | 68 08020000 | push 0x208 |
00D7D77E | 8D85 E8FDFFFF | lea eax,dword ptr ss:[ebp-0x218] |
00D7D784 | 53 | push ebx |
00D7D785 | 50 | push eax |
00D7D786 | E8 55391100 | call <sub_E910E0> |
00D7D78B | 83C4 0C | add esp,0xC |
00D7D78E | 68 B85BF400 | push F45BB8 | F45BB8:L"WnUserPage.exe"
00D7D793 | E8 1C66FEFF | call <sub_D63DB4> |
00D7D798 | 8BC8 | mov ecx,eax |
00D7D79A | E8 BC8FFDFF | call <sub_D5675B> |
00D7D79F | 50 | push eax |
00D7D7A0 | 8D85 E8FDFFFF | lea eax,dword ptr ss:[ebp-0x218] |
00D7D7A6 | 68 D85BF400 | push F45BD8 | F45BD8:L"\"%s%s\" OpenVipTip"
00D7D7AB | 50 | push eax |
00D7D7AC | E8 3F34F6FF | call <sub_CE0BF0> |
00D7D7B1 | 53 | push ebx |
00D7D7B2 | 53 | push ebx |
00D7D7B3 | 8D85 E8FDFFFF | lea eax,dword ptr ss:[ebp-0x218] |
00D7D7B9 | 53 | push ebx |
00D7D7BA | 50 | push eax |
00D7D7BB | E8 20C2FDFF | call <sub_D599E0> |
00D7D7C0 | 83C4 20 | add esp,0x20 |
00D7D7C3 | 8D8D 63FDFFFF | lea ecx,dword ptr ss:[ebp-0x29D] |
00D7D7C9 | 885D FC | mov byte ptr ss:[ebp-0x4],bl |
00D7D7CC | E8 8F11F6FF | call <sub_CDE960> |
00D7D7D1 | 8BCE | mov ecx,esi |
00D7D7D3 | E8 A7030000 | call <sub_D7DB7F> | 这里也起决定作用
00D7D7D8 | 8D8D 64FDFFFF | lea ecx,dword ptr ss:[ebp-0x29C] | [ebp-29C]:L"normal_ck_use_yy"
00D7D7DE | FF15 A8B3EC00 | call dword ptr ds:[<&??1CDuiString@Du |
00D7D7E4 | E8 59F70000 | call <sub_D8CF42> |
00D7D7E9 | C2 0400 | ret 0x4 |
好的,游戏开始:
我打算使用2号x32dbg调试1号x32dbg
我们的目标是:干掉剪贴板中复制多出来的 |
主程序搜索下clip,果然没有
找到后,全F2 下断,等待战机。
到x32dbg中去复制几行代码吧
触发后来到这附近
继续向下,看看都有啥,不要忙着做啥,有了针对才有胜算。
[Asm] 纯文本查看 复制代码 555958F | A1 | mov eax,dword ptr ds:[<?qt_clipboard@QGuiAppli |
555958F | 83E | sub esp,0x14 |
555958F | 85C | test eax,eax |
555958F | 75 | jne 0x5559594F |
555958F | FF1 | call dword ptr ds:[<&?instance@QCoreApplicatio |
5559590 | 85C | test eax,eax |
5559590 | 75 | jne 0x55595928 |
5559590 | 68 | push qt5gui.55844778 | 55844778:"QGuiApplication: Must construct a QGuiApplication before accessing a QClipboard"
5559590 | 50 | push eax |
5559590 | 50 | push eax |
5559590 | 50 | push eax |
5559590 | 8D4 | lea ecx,dword ptr ss:[esp+0x10] |
5559591 | FF1 | call dword ptr ds:[<&??0QMessageLogger@@QAE@PB |
5559591 | 50 | push eax |
5559591 | FF1 | call dword ptr ds:[<&?warning@QMessageLogger@@ |
5559591 | 83C | add esp,0x8 |
5559592 | 33C | xor eax,eax |
5559592 | 83C | add esp,0x14 |
5559592 | C3 | ret |
5559592 | 6A | push 0x8 |
看到没? 因为x32dbg 是QT的程序,所以出现这些特征字符串在情理之中的。
然后 我们就知道了
555958F | A1 | mov eax,dword ptr ds:[<?qt_clipboard@QGuiAppli |这个函数可以作为切入点;
006ADD23 <wnconf | E8 99060000 | call <sub_6AE3C1> | This is my 注释
006ADD28 | E9 8EFEFFFF | jmp 6ADBBB | Hello 52pojie.cn
正常粘出来,上面这样,对吧?
加油,加油 !
看到没? | 这玩意 在寄存器中已经出来了 ~~
[Asm] 纯文本查看 复制代码 54EE164A | 8BC6 | mov eax,esi | 从这上面某处入手 找 |
54EE164C | 5E | pop esi |
54EE164D | C2 0400 | ret 0x4 |
54EE1650 <qt5co | 56 | push esi |
54EE1651 | 8BF1 | mov esi,ecx |
54EE1653 | 8B0E | mov ecx,dword ptr ds:[esi] |
54EE1655 | C706 58971255 | mov dword ptr ds:[esi],<?shared_null@QArrayData@@2QBU1@B |
54EE165B | 8B01 | mov eax,dword ptr ds:[ecx] |
54EE165D | 85C0 | test eax,eax |
54EE165F | 74 13 | je 54EE1674 |
54EE1661 | 83F8 FF | cmp eax,0xFFFFFFFF |
54EE1664 | 74 1B | je 54EE1681 |
继续,继续~~
晕,原来这玩意 ,就是这东西 ~~
这样最后就修补好了。
|