首页
社区
课程
招聘
[旧帖] [求助]这样的循环在什么地方下断点 0.00雪花
发表于: 2007-6-23 15:49 4729

[旧帖] [求助]这样的循环在什么地方下断点 0.00雪花

2007-6-23 15:49
4729
004049CB >/$  55            push    ebp                              ;  
004049CC  |.  8BEC          mov     ebp, esp
004049CE  |.  6A FF         push    -1
004049D0  |.  68 40A24000   push    0040A240
004049D5  |.  68 305F4000   push    00405F30                         ;  SE 处理程序安装
004049DA  |.  64:A1 0000000>mov     eax, dword ptr fs:[0]
004049E0  |.  50            push    eax
004049E1  |.  64:8925 00000>mov     dword ptr fs:[0], esp
004049E8  |.  83EC 58       sub     esp, 58
004049EB  |.  53            push    ebx
004049EC  |.  56            push    esi
004049ED  |.  57            push    edi
004049EE  |.  8965 E8       mov     dword ptr [ebp-18], esp
004049F1  |.  FF15 F8A04000 call    dword ptr [<&KERNEL32.GetVersion>;   
KERNEL32.GetVersion

按F7后跳到
77E80D1D >  64:A1 18000000  mov     eax, dword ptr fs:[18]
77E80D23    8B48 30         mov     ecx, dword ptr [eax+30]
77E80D26    8B91 B0000000   mov     edx, dword ptr [ecx+B0]
77E80D2C    0FB781 AC000000 movzx   eax, word ptr [ecx+AC]
77E80D33    83F2 FE         xor     edx, FFFFFFFE
77E80D36    C1E2 0E         shl     edx, 0E
77E80D39    0BC2            or      eax, edx
77E80D3B    C1E0 08         shl     eax, 8
77E80D3E    0B81 A8000000   or      eax, dword ptr [ecx+A8]
77E80D44    C1E0 08         shl     eax, 8
77E80D47    0B81 A4000000   or      eax, dword ptr [ecx+A4]
77E80D4D    C3              retn

按F7跳到
004049F7  |.  33D2          xor     edx, edx
004049F9  |.  8AD4          mov     dl, ah
004049FB  |.  8915 B0D14000 mov     dword ptr [40D1B0], edx
00404A01  |.  8BC8          mov     ecx, eax
00404A03  |.  81E1 FF000000 and     ecx, 0FF
00404A09  |.  890D ACD14000 mov     dword ptr [40D1AC], ecx
00404A0F  |.  C1E1 08       shl     ecx, 8
00404A12  |.  03CA          add     ecx, edx
00404A14  |.  890D A8D14000 mov     dword ptr [40D1A8], ecx
00404A1A  |.  C1E8 10       shr     eax, 10
00404A1D  |.  A3 A4D14000   mov     dword ptr [40D1A4], eax
00404A22  |.  33F6          xor     esi, esi
00404A24  |.  56            push    esi
00404A25  |.  E8 DE150000   call    00406008

按F7跳到
00406008  /$  33C0          xor     eax, eax
0040600A  |.  6A 00         push    0                                ; /MaximumSize = 0
0040600C  |.  394424 08     cmp     dword ptr [esp+8], eax           ; |
00406010  |.  68 00100000   push    1000                             ; |InitialSize = 1000 (4096.)
00406015  |.  0F94C0        sete    al                               ; |
00406018  |.  50            push    eax                              ; |Flags
00406019  |.  FF15 08A14000 call    dword ptr [<&KERNEL32.HeapCreate>; \HeapCreate

再按就回一开始去啦

请教大家, 像这种情况, 是需要算法来算密码吗

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

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
http://www.acrotec.com/dzone/gf1cnsetup.exe

太难搞, 还请高手出手相助呀 偶先把汇编学一遍去
2007-6-23 16:54
0
雪    币: 228
活跃值: (11)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
3
没猜错的话,这里应该是程序的开始部分吧?那几个Kernel32的Call没有必要跟进去
2007-6-24 00:54
0
雪    币: 228
活跃值: (11)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
4
你是想知道软件的安装密码吗?
你给的压缩包运行后在临时目录下生成一个ae26907的子目录,这个目录下有一个setup.exe,才是真正包含安装密码验证的程序。
用OD载入,下bp MessageBoxA,随意输入注册码断下来(只要你输入的不是正确的)到这里:

0041A8E3  |.  50            push    eax
0041A8E4  |.  68 A8B64500   push    0045B6A8                         ;  ASCII "pasha and andrey"
0041A8E9  |.  8D4D E4       lea     ecx, dword ptr [ebp-1C]
0041A8EC  |.  E8 CFA0FEFF   call    004049C0
0041A8F1  |.  50            push    eax                              ; |Arg1
0041A8F2  |.  E8 5FE4FEFF   call    00408D56                         ; \setup.00408D56
0041A8F7  |.  83C4 10       add     esp, 10
0041A8FA  |.  8845 E0       mov     byte ptr [ebp-20], al
0041A8FD  |.  C645 FC 00    mov     byte ptr [ebp-4], 0
0041A901  |.  8D4D C8       lea     ecx, dword ptr [ebp-38]
0041A904  |.  E8 B79FFEFF   call    004048C0
0041A909  |.  8B4D E0       mov     ecx, dword ptr [ebp-20]
0041A90C  |.  81E1 FF000000 and     ecx, 0FF
0041A912  |.  85C9          test    ecx, ecx
0041A914  |.  0F85 94000000 jnz     0041A9AE
0041A91A  |.  6A 10         push    10
0041A91C  |.  6A 01         push    1                                ; /Arg3 = 00000001
0041A91E  |.  68 BCB64500   push    0045B6BC                         ; |Arg2 = 0045B6BC ASCII "IncorrectPasswordTitle"
0041A923  |.  8D55 B8       lea     edx, dword ptr [ebp-48]          ; |
0041A926  |.  52            push    edx                              ; |Arg1
0041A927  |.  8B45 9C       mov     eax, dword ptr [ebp-64]          ; |
0041A92A  |.  8B48 10       mov     ecx, dword ptr [eax+10]          ; |
0041A92D  |.  E8 3EA60000   call    00424F70                         ; \setup.00424F70
0041A932  |.  8945 8C       mov     dword ptr [ebp-74], eax
0041A935  |.  8B4D 8C       mov     ecx, dword ptr [ebp-74]
0041A938  |.  894D 88       mov     dword ptr [ebp-78], ecx
0041A93B  |.  C645 FC 02    mov     byte ptr [ebp-4], 2
0041A93F  |.  8B4D 88       mov     ecx, dword ptr [ebp-78]
0041A942  |.  E8 79A0FEFF   call    004049C0
0041A947  |.  50            push    eax
0041A948  |.  6A 01         push    1                                ; /Arg3 = 00000001
0041A94A  |.  68 D4B64500   push    0045B6D4                         ; |Arg2 = 0045B6D4 ASCII "IncorrectPassword"
0041A94F  |.  8D55 A8       lea     edx, dword ptr [ebp-58]          ; |
0041A952  |.  52            push    edx                              ; |Arg1
0041A953  |.  8B45 9C       mov     eax, dword ptr [ebp-64]          ; |
0041A956  |.  8B48 10       mov     ecx, dword ptr [eax+10]          ; |
0041A959  |.  E8 12A60000   call    00424F70                         ; \setup.00424F70
0041A95E  |.  8945 84       mov     dword ptr [ebp-7C], eax
0041A961  |.  8B4D 84       mov     ecx, dword ptr [ebp-7C]
0041A964  |.  894D 80       mov     dword ptr [ebp-80], ecx
0041A967  |.  C645 FC 03    mov     byte ptr [ebp-4], 3
0041A96B  |.  8B4D 80       mov     ecx, dword ptr [ebp-80]
0041A96E  |.  E8 4DA0FEFF   call    004049C0
0041A973  |.  50            push    eax                              ; |Text
0041A974  |.  8B55 08       mov     edx, dword ptr [ebp+8]           ; |
0041A977  |.  52            push    edx                              ; |hOwner
0041A978  |.  FF15 4CF34400 call    dword ptr [<&USER32.MessageBoxA>>; \MessageBoxA
0041A97E  |.  C645 FC 02    mov     byte ptr [ebp-4], 2
0041A982  |.  8D4D A8       lea     ecx, dword ptr [ebp-58]
0041A985  |.  E8 369FFEFF   call    004048C0
0041A98A  |.  C645 FC 00    mov     byte ptr [ebp-4], 0
0041A98E  |.  8D4D B8       lea     ecx, dword ptr [ebp-48]
0041A991  |.  E8 2A9FFEFF   call    004048C0
0041A996  |.  C645 A4 01    mov     byte ptr [ebp-5C], 1
0041A99A  |.  C745 FC FFFFF>mov     dword ptr [ebp-4], -1
0041A9A1  |.  8D4D E4       lea     ecx, dword ptr [ebp-1C]
0041A9A4  |.  E8 179FFEFF   call    004048C0
0041A9A9  |.  8A45 A4       mov     al, byte ptr [ebp-5C]
0041A9AC  |.  EB 29         jmp     short 0041A9D7
0041A9AE  |>  68 04040000   push    404                              ; /Result = 404 (1028.)

看到0041A914处有一个jnz了吗?强行让它跳转安装程序就继续了。
2007-6-24 01:17
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
谢谢楼上的师兄,万分感激, 基础太差, 无处下手
以后要多来学习
2007-6-24 10:16
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
6
:)
2007-6-24 16:40
0
游客
登录 | 注册 方可回帖
返回
//