好友
阅读权限40
听众
最后登录1970-1-1
|
楼主|
冥界3大法王
发表于 2019-8-13 10:48
本帖最后由 冥界3大法王 于 2019-8-13 11:30 编辑
接下来,我们从未注册字样入手
我们故技重施(winhex。。。)
76FC7B73 F3:A5 rep movs dword ptr es:[edi], dword p>; 断在这里1
堆栈中0019E45C 004B3301 返回到 GSP5.004B3301 来自 GSP5.00527410 这里回车汇编窗口跟随
[Asm] 纯文本查看 复制代码 00527410 /$ 833D 74C66B00>cmp dword ptr [6BC674], 0 ; 这是段首,同样能看到[6BC674]
00527417 |. 75 33 jnz short 0052744C
00527419 |. 6A 0A push 0A ; /ResourceType = RT_RCDATA
0052741B |. 68 80000000 push 80 ; |ResourceName = 80
00527420 |. 6A 00 push 0 ; |hModule = NULL
00527422 |. FF15 34556300 call dword ptr [<&KERNEL32.FindResour>; \FindResourceW
00527428 |. 50 push eax ; /hResource
00527429 |. 6A 00 push 0 ; |hModule = NULL
0052742B |. FF15 28556300 call dword ptr [<&KERNEL32.LoadResour>; \LoadResource
00527431 |. 50 push eax ; /hResource
00527432 |. FF15 3C556300 call dword ptr [<&KERNEL32.LockResour>; \LockResource
00527438 |. 83C0 02 add eax, 2
0052743B |. A3 9C886B00 mov dword ptr [6B889C], eax
00527440 |. C705 74C66B00>mov dword ptr [6BC674], 1
0052744A |. EB 05 jmp short 00527451
0052744C |> A1 9C886B00 mov eax, dword ptr [6B889C]
00527451 |> 8B4C24 04 mov ecx, dword ptr [esp+4]
00527455 |. 0FB75424 08 movzx edx, word ptr [esp+8]
0052745A |. 56 push esi
0052745B |. 0FB73488 movzx esi, word ptr [eax+ecx*4]
0052745F |. 03F2 add esi, edx
00527461 |. E8 F87B0600 call 0058F05E
00527466 |. 8B4C24 14 mov ecx, dword ptr [esp+14]
0052746A |. 8B5424 10 mov edx, dword ptr [esp+10]
0052746E |. 8B40 04 mov eax, dword ptr [eax+4]
00527471 |. 8B40 44 mov eax, dword ptr [eax+44]
00527474 |. 51 push ecx ; /Count
00527475 |. 52 push edx ; |Buffer
00527476 |. 56 push esi ; |RsrcID
00527477 |. 50 push eax ; |hInst
00527478 |. FF15 EC596300 call dword ptr [<&USER32.LoadStringW>>; \LoadStringW
0052747E |. 5E pop esi ; 第2次来到这
我们可以尝试在
ds:[006BC674]=00000001
本地调用来自 004012AE, 004013BB, 004023F8, 004036AD, 0040370B, 004047B8, 00409A5F, 00409BFB, 0040EB02, 0040EBD6, 0040EC66, 0040F102, 0040F115, 00410340, 00410356, 00412087, 00412FA2, 00413492, 00413771, 00413827, 00413A11, 00413BE4, 0041607F, M)
这个地方ctrl+R,每个地址下断
ctrl+F2重启过后,12下F9后
我们来到这里,看到如下古怪字符
[Asm] 纯文本查看 复制代码 0019F5C0 006BCD18 GSP5.006BCD18
0019F5C4 0045B0E4 返回到 GSP5.0045B0E4 来自 GSP5.00527410
0019F5C8 0000001D
0019F5CC 00000053
0019F5D0 0019FA00 UNICODE "21B59DK6EDMM2NQRQQQRNXW3"
0019F5D4 00000100
0019F5D8 0000001D
0019F5DC 00000052
0019F5E0 0019F700 UNICODE "aHR0cHM6Ly9kcm0tbG9nZ2VyLmtleXByZXNzLmNvbS9rczE="
[Asm] 纯文本查看 复制代码 0045B0DF |. E8 2CC30C00 call 00527410
0045B0E4 |. 8D8424 380100>lea eax, dword ptr [esp+138]
0045B0EB |. 50 push eax
0045B0EC |. 8D4424 2C lea eax, dword ptr [esp+2C]
0045B0F0 |. E8 3B4C0700 call 004CFD30
0045B0F5 |. 83C4 24 add esp, 24
0045B0F8 |. 85C0 test eax, eax
0045B0FA |. 75 18 jnz short 0045B114
0045B0FC |> 33C0 xor eax, eax
0045B0FE |. 5E pop esi
0045B0FF |. 8B8C24 180600>mov ecx, dword ptr [esp+618]
0045B106 |. 33CC xor ecx, esp
0045B108 |. E8 9D2C1900 call 005EDDAA
0045B10D |. 81C4 20060000 add esp, 620
0045B113 |. C3 retn
0045B114 |> 8B5424 08 mov edx, dword ptr [esp+8]
0045B118 |. 8BC2 mov eax, edx
0045B11A |. 8D70 01 lea esi, dword ptr [eax+1]
0045B11D |. 8D49 00 lea ecx, dword ptr [ecx]
0045B120 |> 8A08 /mov cl, byte ptr [eax]
0045B122 |. 83C0 01 |add eax, 1
0045B125 |. 84C9 |test cl, cl
0045B127 |.^ 75 F7 \jnz short 0045B120
0045B129 |. 8D4C24 04 lea ecx, dword ptr [esp+4]
0045B12D |. 51 push ecx
0045B12E |. 8D4C24 1C lea ecx, dword ptr [esp+1C]
0045B132 |. 51 push ecx
0045B133 |. 2BC6 sub eax, esi
0045B135 |. 50 push eax
0045B136 |. 52 push edx
0045B137 |. E8 94631800 call 005E14D0
0045B13C |. 83C4 10 add esp, 10
0045B13F |. 85C0 test eax, eax
0045B141 |.^ 75 B9 jnz short 0045B0FC
0045B143 |. 8B4424 04 mov eax, dword ptr [esp+4]
0045B147 |. 3D 00010000 cmp eax, 100
0045B14C |.^ 74 AE je short 0045B0FC
0045B14E |. 6A 04 push 4
0045B150 |. 8D5424 1C lea edx, dword ptr [esp+1C]
0045B154 |. 68 10696500 push 00656910 ; ASCII "http"
0045B159 |. 52 push edx
0045B15A |. C64404 24 00 mov byte ptr [esp+eax+24], 0
0045B15F |. E8 D7551900 call 005F073B ; 这里看到[url=https://drm-logger.keypress.com/ks1]https://drm-logger.keypress.com/ks1[/url]
这个之后不远的Call里就是咱们前面分析过的注册码所在位置
这个网页打开会看到
{"response":"Allow","responseReason":"","responseMessage":"","numComputers":0,"serverContactSuppression":0}
翻译下就知道了
响应
允许
响应原因
响应消息
数字计算机
服务器触点抑制
跟注册表中你的那个注册号的计算 有关
所以,刚才对 [6A499C]这个常量的定位也很关键。和C的分析基本合拍了,这个不用往下分析了。
下面再从a1功能限制入手加以研究,还是删除udd从头开始吧
因为这个论坛有人分析过了,我们全当是复习功课好了。
我们直接bp ShowWindow
这个下断需要点运气,不然会频繁的断下,下面是这次堆栈告诉我们的裙摆下情况:
[Asm] 纯文本查看 复制代码 0019E234 73CDC19B /CALL 到 ShowWindow 来自 comctl32.73CDC195
0019E238 003C0A56 |hWnd = 003C0A56 (class='tooltips_class32',parent=00500A06)
0019E23C 00000000 \ShowState = SW_HIDE
0019E240 00000000
0019E244 00000401
0019E248 00B8AC68
0019E24C /0019E2F4 ASCII "v4X"
0019E250 |00580BA0 返回到 GSP5.00580BA0======================》a1
0019E254 |0000000F
0019E258 |00000000
0019E25C |5006E937
0019E260 |0019E274
0019E264 |73CDC104 返回到 comctl32.73CDC104 来自 comctl32.73CDC10E
0019E268 |00000000
0019E26C |00000000
0019E270 |00B8AC68
0019E274 |0019E3B8
0019E278 |73CDDFE7 返回到 comctl32.73CDDFE7 来自 comctl32.73CDC0EE
0019E27C |00000000
0019E280 |00B8AC9C
0019E284 |00B8AC68
0019E288 |003C0A56
0019E28C |00000000
0019E290 |003C0A56
0019E294 |00000000
0019E298 |00000005
0019E29C |FFFFFFFF
0019E2A0 |00000001
0019E2A4 |746C6664
0019E2A8 |746C6664
0019E2AC |00000000
0019E2B0 |00B240A8
0019E2B4 |00000040
0019E2B8 |74746FEC gdi32ful.74746FEC
0019E2BC |440124E0
0019E2C0 |00B240A8
0019E2C4 |00000000
0019E2C8 |00000000
0019E2CC |00000000
0019E2D0 |00000000
0019E2D4 |00000000
0019E2D8 |00000000
0019E2DC |006B0BD4 GSP5.006B0BD4
0019E2E0 |7FFFFFFF
0019E2E4 |00000000
0019E2E8 |0019E394
0019E2EC |00627843 GSP5.00627843
0019E2F0 |FFFFFFFF
0019E2F4 \00583476 返回到 GSP5.00583476 来自 GSP5.005F6F63======================》a2
0019E2F8 0057E78F 返回到 GSP5.0057E78F======================》a3
0019E2FC 0000000F
0019E300 00000000
0019E304 0063EDB8 GSP5.0063EDB8
0019E308 01400140
0019E30C 03B92150
0019E310 00000000
0019E314 0019E338
0019E318 0059918C 返回到 GSP5.0059918C 来自 GSP5.0057E76D ======================》a4
0019E31C /0019E34C
0019E320 |76C54889 返回到 user32.76C54889 来自 user32.76C54930
0019E324 |01400140
0019E328 |00000000
0019E32C |01400140
0019E330 |00480B10 GSP5.00480B10 ======================》a5
0019E334 |00000000
0019E338 |0019E3A0
0019E33C |00000000
0019E340 |000033FC
0019E344 |00000000
0019E348 |00480B10 GSP5.00480B10 ======================》a6
0019E34C \0019E394
从a1 到 a6 你会首先 跟随哪个呢?
都去看看,我觉得 你会选择0019E318 0059918C 返回到 GSP5.0059918C 来自 GSP5.0057E76D
到达这里后,我们Ctrl+A分析,Ctrl-来到段首
最后经过几轮
我们来到了
004F8DC2 . F70485 005C65>test dword ptr [eax*4+655C00], 4 ; 这里有个测试判断条件,这个内存地址只会搜索到1处
修改这个655C00为01也同样是注册版
几种方法都是一级一级回溯,找到关键判断点,找到尝试修改影响后面的走位。
|
-
|