- UID
- 6867
注册时间2006-1-12
阅读权限10
最后登录1970-1-1
周游历练
该用户从未签到
|
发表于 2006-8-3 20:03:16
|
显示全部楼层
菜鸟分析难免有错请指教!求学路上--------
PEID查壳:什么也没有发现!
OD载入利用ESP定律脱壳,脱壳方式一不能运行,利用import修复,可以运行,再用PEID查壳Borland Delphi 4.0 - 5.0的
注册看看有何反应:name:MINGBIN serial:789789789 出现:wrong code消息框
在od中看看Ultra 字符串参考,
项目 174
地址=00441829
反汇编=mov edx,11_.0044188C
文本字符串=Wrong Code
爆破点00441806 /74 1A jne short 11_.00441822 改为je 就是了!
追码的过程:
004417BB 6A 00 push 0
004417BD 6A 00 push 0
004417BF 6A 00 push 0
004417C1 53 push ebx
004417C2 8BD8 mov ebx,eax
004417C4 33C0 xor eax,eax
004417C6 55 push ebp
004417C7 68 60184400 push 11_.00441860
004417CC 64:FF30 push dword ptr fs:[eax]
004417CF 64:8920 mov dword ptr fs:[eax],esp
004417D2 8D55 FC lea edx,dword ptr ss:[ebp-4]
004417D5 8B83 C8020000 mov eax,dword ptr ds:[ebx+2C8]
004417DB E8 C419FEFF call 11_.004231A4 ; 取试验码
004417E0 8B45 FC mov eax,dword ptr ss:[ebp-4] ; 试验码789789789位数送入eax=9
004417E3 50 push eax ; eax压栈
004417E4 8D55 F4 lea edx,dword ptr ss:[ebp-C]
004417E7 8B83 C4020000 mov eax,dword ptr ds:[ebx+2C4]
004417ED E8 B219FEFF call 11_.004231A4 ; 取用户名
004417F2 8B45 F4 mov eax,dword ptr ss:[ebp-C] ; 用户名MINGBIN的位数送入eax=7
004417F5 8D55 F8 lea edx,dword ptr ss:[ebp-8]
004417F8 E8 FBFEFFFF call 11_.004416F8 ; 算法call
004417FD 8B55 F8 mov edx,dword ptr ss:[ebp-8] ; edx=ASCII "7048-0171-4DC7-39D3"
00441800 58 pop eax ; 假码入栈eax
00441801 E8 3E23FCFF call 11_.00403B44 ; 两码比较
00441806 75 1A jnz short 11_.00441822 ; 不等则跳,相等向下继续
00441808 6A 40 push 40
0044180A B9 6C184400 mov ecx,11_.0044186C ; ASCII "U made it"
0044180F BA 78184400 mov edx,11_.00441878 ; ASCII "Right Code"
00441814 A1 302C4400 mov eax,dword ptr ds:[442C30]
00441819 8B00 mov eax,dword ptr ds:[eax]
0044181B E8 D4D6FFFF call 11_.0043EEF4
00441820 EB 18 jmp short 11_.0044183A
00441822 6A 10 push 10
00441824 B9 84184400 mov ecx,11_.00441884 ; ASCII "Error"
00441829 BA 8C184400 mov edx,11_.0044188C ; ASCII "Wrong Code"
0044182E A1 302C4400 mov eax,dword ptr ds:[442C30]
00441833 8B00 mov eax,dword ptr ds:[eax]
00441835 E8 BAD6FFFF call 11_.0043EEF4
******************************call 11_.004416F8 ********************
004416FB 83C4 DC add esp,-24
004416FE 891424 mov dword ptr ss:[esp],edx
00441701 8BF8 mov edi,eax ; 用户名eax送入edi=MINGBIN
00441703 BB 05033949 mov ebx,49390305 ; ebx=49390305
00441708 BE 20126348 mov esi,48631220 ; esi=48631220
0044170D 8BC7 mov eax,edi ; edi送入eax=MINGBIN
0044170F E8 2023FCFF call 11_.00403A34
00441714 85C0 test eax,eax ; 测试eax=7
00441716 7E 2E jle short 11_.00441746 ; 小于或等于转移
00441718 BA 01000000 mov edx,1 ; 1送入edx=1
0044171D + 33C9 xor ecx,ecx ; ecx=0异或清空 --------以下为循环计算!
0044171F 8A4C17 FF mov cl,byte ptr ds:[edi+edx-1] ; cl=m按位取用户名送cl
00441723 33D9 xor ebx,ecx ; ebx=ebxxorecx=49390305xor4d=49390348
00441725 33F3 xor esi,ebx ; esi=esixorebx=48631220xor49390348=15A1168
00441727 F6C3 01 test bl,1 ; 测试bl=1 bl=48(H)
0044172A 74 0F je short 11_.0044173B
0044172C D1FB sar ebx,1
0044172E 79 03 jns short 11_.00441733
00441730 83D3 00 adc ebx,0
00441733 81F3 11032001 xor ebx,1200311
00441739 EB 07 jmp short 11_.00441742
0044173B D1FB sar ebx,1 ; ebx算术右移1位
0044173D 79 03 jns short 11_.00441742 ; 符号位为 "0" 时转移.
0044173F 83D3 00 adc ebx,0
00441742 42 inc edx ; edx=edx+1
00441743 48 dec eax ; eax=eax-1
00441744 + 75 D7 jnz short 11_.0044171D ; eax与edx不等时继续,否则跳走
00441746 8B0424 mov eax,dword ptr ss:[esp]
00441749 50 push eax
0044174A 8BC3 mov eax,ebx ; ebx送eax=01717048
0044174C 25 FFFF0000 and eax,0FFFF ; eax=eax and 0fff=7048 (1)
00441751 894424 08 mov dword ptr ss:[esp+8],eax
00441755 C64424 0C 00 mov byte ptr ss:[esp+C],0
0044175A C1EB 10 shr ebx,10 ; ebx=01717048逻辑右移10位
0044175D 895C24 10 mov dword ptr ss:[esp+10],ebx ; ebx=0171 (2)
00441761 C64424 14 00 mov byte ptr ss:[esp+14],0
00441766 8BC6 mov eax,esi ; 上面esi循环计算的值送入eax=39d34dc7
00441768 25 FFFF0000 and eax,0FFFF ; eax=eax and 0ffff =4DC7 (3)
0044176D 894424 18 mov dword ptr ss:[esp+18],eax
00441771 C64424 1C 00 mov byte ptr ss:[esp+1C],0
00441776 C1EE 10 shr esi,10 ; esi=39d34dc7逻辑右移10位
00441779 897424 20 mov dword ptr ss:[esp+20],esi ; esi=3903 (4)
0044177D C64424 24 00 mov byte ptr ss:[esp+24],0
00441782 8D5424 08 lea edx,dword ptr ss:[esp+8]
00441786 B9 03000000 mov ecx,3
0044178B B8 A4174400 mov eax,11_.004417A4 ; ASCII "%.4x-%.4x-%.4x-%.4x"(1)-(2)-(3)-(4)连起来
00441790 E8 6F68FCFF call 11_.00408004
00441795 83C4 24 add esp,24
00441798 5F pop edi
00441799 5E pop esi
0044179A 5B pop ebx
0012F364 00D6635C ASCII "7048-0171-4DC7-39D3"
还有些不懂,不知是否有错,请指教!
[ 本帖最后由 沙粒 于 2006-8-3 20:04 编辑 ] |
|