首页
社区
课程
招聘
会OLLYDBG的请进
发表于: 2004-9-20 15:56 4346

会OLLYDBG的请进

2004-9-20 15:56
4346
前几天用OLLYDBG,参照的软件的一例子,但是没有看明白,(它说看见CALL跟进是按F7吗?)接着说此时查看椎栈可以看到里面放着的注册码(包括假的和真的以及用户名)但是怎么进椎栈呢?我按TRW的命令D EAX,和D EDX,但是也没有看到我想要的真假码.请多多指教!谢谢!

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

收藏
免费 1
支持
分享
最新回复 (5)
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
堆栈在右下角阿
2004-9-20 23:52
0
雪    币: 339
活跃值: (1510)
能力值: ( LV13,RANK:970 )
在线值:
发帖
回帖
粉丝
3
d esp
2004-9-22 01:02
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
mad
4
谢谢楼上两位,我回去再试试。
2004-9-22 10:28
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
mad
5
我试了一下,还是不明白,我用的例子来自于“软件指南”第六期
这里的DFBOX指的是我查找注册码的一个文件,在这里,我假设用户名是ROC,注册码(假)为12345678
00490DB1      55                            push ebp
00490DB2      68  1D014900               push  Dfbox.00490E1D
00490DB7      64:FF30                    push dword ptr fs:[eax]
00490DBA      64:8920                   mov dword ptr fs:[eax],esp
00490DBD      BB 01000000               mov ebx,1
00490DC2      8B45  FC                   mov eax,dword ptr ss:[ebp-4]
00490DC5      EB B63EF7FF                call Dfbox.00404c80
00490DCA      8BC8                        mov ecx,eax
00490DCC      85C9                        test ecx,ecx
00490DCE      7E 1C                       jle short Dfbox.00490DEC
00490DD0     BE 01000000                 mov esi,1
00490DD5     8B45 FC                    mov eax,dword ptr ss:[ebp-4]
00490DD8     0FB67C30 FF  movzx edi,byte ptr ds:[eax+esi-1]
//这是我用OLLYDBY设下的输入用户名时的内存断点,这里应该是用户名。
00490DDD     8BC3                        mov eax,ebx
00490DDF      99                           cdq
00490DE0     33C2                        xor eax,edx
00490DE2     2BC2                        sub eax,edx
00490DE4     F7EF                        imul  edi
00490DE6     8BD8                       mov ebx,eax
00490DE8     46                           inc  esi
00490DE9     49                           dec ecx
00490DEA    75 E9                       jnz short Dfbox.00490DD5
00490DEC     8BC3                       mov eax,ebx
00490DEE      99                          cdq
00490DEF     33C2                        xor eax,edx
00490DF1     2BC2                         sub eax,edx
00490DF3     83C0 64                   add eax,64
00490DF6     99                           cdq
00490DF7     33C2                       xor eax,edx
00490DF9     2BC2                       sub eax,edx
00490DFB     8BD8                       mov ebx,eax
00490DFD     8B55 F8                   mov edi,dword ptr ss:[ebp-8]
00490E00     8BC3                       mov eax,ebx
00490E02     E8 AD86F7FF              call  Dfbox.004094B4
00490E07     33C0                       xor eax,eax
00490E09      5A                         pop  edx
00490E0A     59                          pop  ecx
00490E0B     59                          pop  ecx
00490E0C     64:8910                  mov dword ptr fs:[eax],edx
00490E0F     68 240E4900              push Dfbox.00490E24
00490E14     8D45  FC                 lea eax,dword ptr ss:[ebp-4]
00490E17     E8  AC3BF7FF             call  Dfbox.004049C8
00490E1C     C3                          retn

00490E24     5F                          pop edi
00490E25     5E                          pop esi
00490E26     5B                          pop ebx
00490E27     59                          pop ecx
00490E28     59                          pop ecx
00490E29     5D                          pop ebp
00490E2A     C3                          retn

00490D37     8B45  F4                 mov eax,dword ptr ss:[ebp-c]
00490D3A     8B55  F8                 mov edx,dword ptr ss:[ebp-8]
00490D3D     E8  8240F7FF          call Dfbox.00404DC4
//这里就是关键之处

00490D42     75 04                      jnz short Dfbox.00490D48
00490D44     B3 01                      mov b1,1
00490D46     EB 02                      jmp short Dbfox.00490D4A
00490D48     33DB                       xor ebx,ebx
00490D4A    8B55 FC                    mov edx,dword ptr ss:[ebp-4]
00490D4D    B8 900D4900          mov eax,Dfbox.00490D90;ASCII "ttdown"
00490D52    E8 6542F7FF             call Dfbox.00404FBC
00490D57    85C0                        test eax,eax
00490D59    74 02                       je short Dfbox.00490D5D
00490D5B    33DB                        xor ebx,ebx
00490D5D    33C0                        xor eax,eax
00490D5F     5A                           pop edx
00490D60     59                           pop ecx
00490D61     59                           pop ecx
00490D62     64:8910                   mov dword ptr fs:[eax],edx
00490D65     68 7F0D4900            push Dfbox.00490D7F
00490D6A     8D45 F4                   lea eax,dword ptr ss:[ebp-c]
00490D6D     BA 03000000            mov edx,3
00490D72     E8  753CF7FF           call Dfbox.004049EC
00490D77     C3                          retn

00490D7F    8BC3                       mov eax,ebx
00490D81    5B                          pop ebx
00490D82    8BE5                       mov esp,ebp
00490D84    5D                          pop ebp
00490D85    c3                           retn

004E999A    E8  5D73FAFF           call  Dfbox.00490CFC
//这里就是验证注册码的地方(为什么?)

004E999F    84C0                       test  al,al
2004-9-22 12:29
0
雪    币: 212
活跃值: (70)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
这要自己看 自己理解啊 这个call的调用是关键 在右下脚的窗口就能看见注册码和自己输入的假码!;)
2004-9-26 12:54
0
游客
登录 | 注册 方可回帖
返回
//