-
-
[原创]QQGAME挤房改造
-
发表于:
2010-6-14 21:48
10184
-
【文章标题】: QQGAME挤房改造
【文章作者】: wxxw
【软件名称】: qqgame 2010
【保护方式】: 无壳
【编写语言】: Microsoft Visual C++ 6.0
【使用工具】: PEID 0.95 Olldbg1.10 lordpe
【操作平台】: XP sp3
【软件介绍】: 不用介绍了吧
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
跟上次改qq对战平台类似,不过这次采用记录左键双击消息,然后重复发送,首先找到房间人满时弹出的对话框,将此处改为发送消息即可,可该对话框明显不是MessageBox所为,究竟是用的什么函数,因为发现弹出的对话框上有个倒计时数字,于是猜测有可能处理WM_TIMER消息,弹出对话框后对此消息下断,顺藤摸瓜最后发现原对话框是调用了CommonUI.dll里的DialogBoxParamA来完成的,代码如下:
1001E075 |> \837D 14 00 CMP DWORD PTR SS:[EBP+14],0
1001E079 |. 53 PUSH EBX ; /lParam
1001E07A |. 68 2EFE0110 PUSH CommonUI.1001FE2E ; |pDlgProc = CommonUI.1001FE2E
1001E07F |. 50 PUSH EAX ; |hOwner
1001E080 |. FF75 0C PUSH DWORD PTR SS:[EBP+C] ; |pTemplate
1001E083 |. 897E 58 MOV DWORD PTR DS:[ESI+58],EDI ; |
1001E086 |. FF75 08 PUSH DWORD PTR SS:[EBP+8] ; |hInst
1001E089 |. 74 27 JE SHORT CommonUI.1001E0B2 ; |
1001E08B |. FF15 48570510 CALL DWORD PTR DS:[<&USER32.CreateDialog>; \CreateDialogParamA
1001E091 |. 50 PUSH EAX
1001E092 |. 8D8E B0050000 LEA ECX,DWORD PTR DS:[ESI+5B0]
1001E098 |. 8946 54 MOV DWORD PTR DS:[ESI+54],EAX
1001E09B |. E8 38A5FFFF CALL CommonUI.100185D8
1001E0A0 |. 8BCB MOV ECX,EBX
1001E0A2 |. E8 6E200000 CALL CommonUI.10020115
1001E0A7 |. FF76 54 PUSH DWORD PTR DS:[ESI+54] ; /hWnd
1001E0AA |. FF15 A8560510 CALL DWORD PTR DS:[<&USER32.IsWindow>] ; \IsWindow
1001E0B0 |. EB 06 JMP SHORT CommonUI.1001E0B8
1001E0B2 |> FF15 4C570510 CALL DWORD PTR DS:[<&USER32.DialogBoxPar>; \DialogBoxParamA
1001E0B8 |> 5F POP EDI
1001E0B9 |. 5E POP ESI
1001E0BA |. 5B POP EBX
1001E0BB |. 5D POP EBP
1001E0BC \. C2 1000 RETN 10
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)