首页
社区
课程
招聘
[旧帖] [讨论][讨论][原创]菜鸟某款G的猜想和分析 0.00雪花
发表于: 2009-6-8 18:35 1043

[旧帖] [讨论][讨论][原创]菜鸟某款G的猜想和分析 0.00雪花

2009-6-8 18:35
1043
[ATTACH][/ATTACH]

G是DNG龙眼6.07,G做的比较BT,可以无敌和改变技能伤害,不过每个账号只有30分钟的试用时间,这个挂在账号试用期过了以后,下次开挂登录DNF的时候他会弹出个对话框,提示 充值已过期····

我就是想找到他的对话框弹出来的内存位置,不过水平太菜,没找到,现在把我的一些猜想和简单分析发出来,希望大家看一下,能给我点提示,错误很多,大家不要见笑···

外挂的使用方法是先开挂,然后再开DNF,然后挂就自动注入DNF,修改内存····



随便输入一个会员码,选择一个职业,点击启动龙眼

在02201596处下断,来到
02201530 >/$  E8 2B1A0000   call    02202F60
02201535  |.  E8 560D0000   call    02202290
0220153A  |.  33C0          xor     eax, eax
0220153C  |.  8D6424 00     lea     esp, dword ptr [esp]
02201540  |>  8A88 207A2002 /mov     cl, byte ptr [eax+2207A20]
02201546  |.  8888 08902002 |mov     byte ptr [eax+2209008], cl
0220154C  |.  40            |inc     eax
0220154D  |.  84C9          |test    cl, cl
0220154F  |.^ 75 EF         \jnz     short 02201540
02201551  |.  56            push    esi
02201552  |.  57            push    edi
02201553  |.  C605 00902002>mov     byte ptr [2209000], 1
0220155A  |.  E8 71FFFFFF   call    022014D0
0220155F  |.  8B7424 0C     mov     esi, dword ptr [esp+C]
02201563  |.  A1 08922002   mov     eax, dword ptr [2209208]
02201568  |.  B9 0C000000   mov     ecx, 0C
0220156D  |.  BF 18922002   mov     edi, 02209218
02201572  |.  F3:A5         rep     movs dword ptr es:[edi], dword ptr [esi]
02201574  |.  33F6          xor     esi, esi
02201576  |.  85C0          test    eax, eax
02201578      EB 0D         jmp     short 02201587
0220157A  |.  50            push    eax                                                   ; /hHook => NULL
0220157B  |.  FF15 0C522002 call    dword ptr [<&USER32.UnhookWindowsHookEx>]             ; \UnhookWindowsHookEx
02201581  |.  8935 08922002 mov     dword ptr [2209208], esi
02201587  |>  A1 6C652002   mov     eax, dword ptr [220656C]
0220158C  |.  6A 00         push    0                                                     ; /ThreadID = 0
0220158E  |.  50            push    eax                                                   ; |hModule => 02200000 (xyloader)
0220158F  |.  68 F0132002   push    022013F0                                              ; |Hookproc = xyloader.022013F0
02201594  |.  6A 03         push    3                                                     ; |HookType = WH_GETMESSAGE
02201596  |.  FF15 04522002 call    dword ptr [<&USER32.SetWindowsHookExA>]               ; \SetWindowsHookExA
0220159C  |.  A3 08922002   mov     dword ptr [2209208], eax                              ;  此时下钩子是什么意思?
022015A1  |.  85C0          test    eax, eax
022015A3  |.  B8 02000000   mov     eax, 2
022015A8  |.  74 02         je      short 022015AC
022015AA  |.  8BC6          mov     eax, esi
022015AC  |>  5F            pop     edi
022015AD  |.  5E            pop     esi
022015AE  \.  C3            retn
022015AF      CC            int3
022015B0  /$  8BC1          mov     eax, ecx
022015B2  |.  33C9          xor     ecx, ecx
022015B4  |.  C700 68522002 mov     dword ptr [eax], 02205268
022015BA  |.  8948 04       mov     dword ptr [eax+4], ecx
022015BD  |.  8948 08       mov     dword ptr [eax+8], ecx
022015C0  \.  C3            retn

这里我没看出什么东西来,继续···

在022013F0 下断,来到··

022013F0   .  56            push    esi
022013F1   .  8B35 64502002 mov     esi, dword ptr [<&KERNEL32.GetModuleHandleA>]         ;  kernel32.GetModuleHandleA
022013F7   .  57            push    edi                                                   ;  监视DNF是否运行,然后在DNF中注入xyloader.dll
022013F8   .  68 58522002   push    02205258                                              ; /pModule = "DNFchina.exe"
022013FD   .  FFD6          call    esi                                                   ; \GetModuleHandleA
022013FF   .  68 44522002   push    02205244                                              ; /pModule = "DNFchinaTest.exe"
02201404   .  8BF8          mov     edi, eax                                              ; |
02201406   .  FFD6          call    esi                                                   ; \GetModuleHandleA
02201408   .  85FF          test    edi, edi
0220140A   .  5F            pop     edi
0220140B   .  5E            pop     esi
0220140C      75 04         jnz     short 02201412
0220140E   .  85C0          test    eax, eax                                              ;  看dnf是否已经运行
02201410      74 50         je      short 02201462                                        ;  没有就跳转
02201412   >  A0 00902002   mov     al, byte ptr [2209000]                                ;  已经运行,al=1
02201417   .  84C0          test    al, al                                                ;  测试al是否为0
02201419   .  74 12         je      short 0220142D                                        ;  是就跳转
0220141B   .  68 08902002   push    02209008
02201420   .  E8 0B1B0000   call    02202F30
02201425   .  83C4 04       add     esp, 4
02201428   .  E8 630E0000   call    02202290
0220142D   >  A0 80652002   mov     al, byte ptr [2206580]
02201432   .  84C0          test    al, al
02201434      75 2C         jnz     short 02201462
02201436   .  68 34522002   push    02205234                                              ; /FileName = "xyloader.dll"
0220143B   .  FF15 70502002 call    dword ptr [<&KERNEL32.LoadLibraryA>]                  ; \LoadLibraryA
02201441   .  FF15 68502002 call    dword ptr [<&KERNEL32.GetCurrentProcessId>]           ; [GetCurrentProcessId
02201447   .  A3 10922002   mov     dword ptr [2209210], eax                              ;  1149210
0220144C   .  C705 90952002>mov     dword ptr [2209590], 1
02201456      E8 750B0000   call    02201FD0                                              ;  远程改变分配DNF内存
0220145B   .  C605 80652002>mov     byte ptr [2206580], 1
02201462   >  8B4424 0C     mov     eax, dword ptr [esp+C]
02201466   .  8B4C24 08     mov     ecx, dword ptr [esp+8]
0220146A   .  8B5424 04     mov     edx, dword ptr [esp+4]
0220146E   .  50            push    eax                                                   ; /lParam
0220146F   .  A1 08922002   mov     eax, dword ptr [2209208]                              ; |
02201474   .  51            push    ecx                                                   ; |wParam
02201475   .  52            push    edx                                                   ; |HookCode
02201476   .  50            push    eax                                                   ; |hHook => 01F50343
02201477   .  FF15 08522002 call    dword ptr [<&USER32.CallNextHookEx>]                  ; \CallNextHookEx
0220147D      C2 0C00       retn    0C
02201480 >/$  8B4C24 04     mov     ecx, dword ptr [esp+4]
02201484  |.  33C0          xor     eax, eax
02201486  |.  81F9 E9030000 cmp     ecx, 3E9
0220148C  |.  0F95C0        setne   al
0220148F  |.  48            dec     eax
02201490  |.  25 A0132002   and     eax, 22013A0
02201495  \.  C3            retn

到了这里我就跟不动了···因为到这里一旦发现DNF运行,他就注入DNF了,然后怎么跟我就不懂了,我也尝试自己去看代码找那个对话框弹出的地方来···
找到几个地方··

02201F09   .  84C9          test    cl, cl
02201F0B   .^ 75 F6         jnz     short 02201F03
02201F0D   .  8B4424 70     mov     eax, dword ptr [esp+70]
02201F11   .  8B7424 6C     mov     esi, dword ptr [esp+6C]
02201F15   .  8B4C24 68     mov     ecx, dword ptr [esp+68]
02201F19   .  8B5424 60     mov     edx, dword ptr [esp+60]
02201F1D   .  50            push    eax
02201F1E   .  8B4424 5C     mov     eax, dword ptr [esp+5C]
02201F22   .  56            push    esi
02201F23   .  51            push    ecx
02201F24   .  8B4C24 60     mov     ecx, dword ptr [esp+60]
02201F28   .  57            push    edi
02201F29   .  52            push    edx
02201F2A   .  8B5424 64     mov     edx, dword ptr [esp+64]
02201F2E   .  53            push    ebx
02201F2F   .  50            push    eax
02201F30   .  8B4424 64     mov     eax, dword ptr [esp+64]
02201F34   .  51            push    ecx
02201F35   .  8B4C24 64     mov     ecx, dword ptr [esp+64]
02201F39   .  52            push    edx
02201F3A   .  55            push    ebp
02201F3B   .  50            push    eax
02201F3C   .  51            push    ecx
02201F3D   .  E8 0EFBFFFF   call    02201A50                                              ;  内存没加载这块地址,我感觉这个CALL似乎比较重要···
02201F42   .  8BF8          mov     edi, eax
02201F44   .  8A4424 13     mov     al, byte ptr [esp+13]
02201F48   .  84C0          test    al, al
02201F4A      74 5A         je      short 02201FA6
02201F4C      68 207A2002   push    02207A20
02201F51   .  8D4C24 18     lea     ecx, dword ptr [esp+18]
02201F55   .  FF15 A0512002 call    dword ptr [<&MSVCP71.std::basic_string<char,std::char>;  MSVCP71.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >
02201F5B   .  68 34522002   push    02205234                                              ;  ASCII "xyloader.dll"
02201F60   .  8D4C24 18     lea     ecx, dword ptr [esp+18]
02201F64   .  C74424 40 000>mov     dword ptr [esp+40], 0
02201F6C   .  FF15 9C512002 call    dword ptr [<&MSVCP71.std::basic_string<char,std::char>;  MSVCP71.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::operator+=
02201F72   .  837C24 2C 10  cmp     dword ptr [esp+2C], 10
02201F77   .  8B4424 18     mov     eax, dword ptr [esp+18]
02201F7B   .  73 04         jnb     short 02201F81
02201F7D   .  8D4424 18     lea     eax, dword ptr [esp+18]
02201F81   >  8B16          mov     edx, dword ptr [esi]
02201F83   .  50            push    eax
02201F84   .  52            push    edx
02201F85   .  E8 56FBFFFF   call    02201AE0  ;创建远程线程,可能这里实现的DNF注入

反正是没跟出来,不过我感觉应该离对话框弹出不远了,各位有看懂的给我点提示吧,我都看了好几天了·····愁死了····

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//