能力值:
( LV2,RANK:10 )
|
-
-
2 楼
按F7跟进试试……
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
同上!F7跟进试试看
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
估计是判断注册码是否正确的子函数,需要跟进去单步执行,里面会有判断的语句的
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
看了半天硬是没有看懂得 哎。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
怎麼看起來很像是kernel的東西= =,你要在程序領空單步吧。
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
如果在寄存器中没有跟踪到注册码,然后怎么办?
怎么确定算法从哪里开始,到哪里结束?
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
跟进去的代码如下:
7C94A950 8BFF mov edi, edi
7C94A952 55 push ebp
7C94A953 8BEC mov ebp, esp
7C94A955 83EC 64 sub esp, 64
7C94A958 56 push esi
7C94A959 FF75 0C push dword ptr [ebp+C]
7C94A95C 8B75 08 mov esi, dword ptr [ebp+8]
7C94A95F 56 push esi
7C94A960 C645 FF 00 mov byte ptr [ebp-1], 0
7C94A964 E8 ABFFFFFF call 7C94A914
7C94A969 84C0 test al, al
7C94A96B 0F85 69390200 jnz 7C96E2DA
7C94A971 53 push ebx
7C94A972 8D45 F4 lea eax, dword ptr [ebp-C]
7C94A975 50 push eax
7C94A976 8D45 F8 lea eax, dword ptr [ebp-8]
7C94A979 50 push eax
7C94A97A E8 5D8AFDFF call 7C9233DC
7C94A97F E8 748AFDFF call 7C9233F8
7C94A984 8365 08 00 and dword ptr [ebp+8], 0
7C94A988 8BD8 mov ebx, eax
7C94A98A 83FB FF cmp ebx, -1
7C94A98D 0F84 8F000000 je 7C94AA22
7C94A993 57 push edi
7C94A994 3B5D F8 cmp ebx, dword ptr [ebp-8]
7C94A997 ^ 0F82 79F9FFFF jb 7C94A316
7C94A99D 8D43 08 lea eax, dword ptr [ebx+8]
7C94A9A0 3B45 F4 cmp eax, dword ptr [ebp-C]
7C94A9A3 ^ 0F87 6DF9FFFF ja 7C94A316
7C94A9A9 F6C3 03 test bl, 3
7C94A9AC ^ 0F85 64F9FFFF jnz 7C94A316
7C94A9B2 8B43 04 mov eax, dword ptr [ebx+4]
7C94A9B5 3B45 F8 cmp eax, dword ptr [ebp-8]
7C94A9B8 72 09 jb short 7C94A9C3
7C94A9BA 3B45 F4 cmp eax, dword ptr [ebp-C]
7C94A9BD ^ 0F82 53F9FFFF jb 7C94A316
7C94A9C3 50 push eax
7C94A9C4 E8 67000000 call 7C94AA30
7C94A9C9 84C0 test al, al
7C94A9CB ^ 0F84 45F9FFFF je 7C94A316
7C94A9D1 F605 FAB3997C 8>test byte ptr [7C99B3FA], 80
7C94A9D8 0F85 05390200 jnz 7C96E2E3
7C94A9DE FF73 04 push dword ptr [ebx+4]
7C94A9E1 8D45 EC lea eax, dword ptr [ebp-14]
7C94A9E4 50 push eax
7C94A9E5 FF75 0C push dword ptr [ebp+C]
7C94A9E8 53 push ebx
7C94A9E9 56 push esi
7C94A9EA E8 5888FDFF call 7C923247
7C94A9EF F605 FAB3997C 8>test byte ptr [7C99B3FA], 80
7C94A9F6 8BF8 mov edi, eax
7C94A9F8 0F85 FB380200 jnz 7C96E2F9
7C94A9FE 395D 08 cmp dword ptr [ebp+8], ebx
7C94AA01 0F84 00390200 je 7C96E307
7C94AA07 8BC7 mov eax, edi
7C94AA09 33C9 xor ecx, ecx
7C94AA0B 2BC1 sub eax, ecx
7C94AA0D ^ 0F85 E2F8FFFF jnz 7C94A2F5
7C94AA13 F646 04 01 test byte ptr [esi+4], 1
7C94AA17 0F85 34390200 jnz 7C96E351
7C94AA1D C645 FF 01 mov byte ptr [ebp-1], 1
7C94AA21 5F pop edi
7C94AA22 5B pop ebx
7C94AA23 8A45 FF mov al, byte ptr [ebp-1]
7C94AA26 5E pop esi
7C94AA27 C9 leave
7C94AA28 C2 0800 retn 8
7C94AA2B 90 nop
7C94AA2C 90 nop
7C94AA2D 90 nop
像这种dword字,是什么意思?
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
这应该是系统的异常处理代码,执行到这里说明程序出现了异常。这个时候你可以试一下按下Alt-F9,让程序执行到用户代码处,然后继续跟踪应该就可以了。
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
啊,这个是异常 ,可是执行到这里就结束了啊,弹出消息然后结束
其前面的一个call为:
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
谁有时间想跟一下这个,仅学习。。
|