软件名称:系统查看大师1.0.0
软件大小:595KB
保护方式:WWPack32 1.x加壳+异常处理+注册码
难度等级:容易
破解作者:WXHing[BCG][FCG]
破解工具:OllyDbg1.10,ImprotREC1.6,DeDe
破解声明:初学破解,旨在学习,别无它意,如有不妥,还请指正!
软件简介:一个简单易用,可以方便查看系统所有进程的小软件,他可以查看Ctrl+Alt+Del看不到的进程,这一特色恐怕是其他同类软件无
法比拟的(最有用的是他可以查看病毒程序的进程,构COOL吧)!
OD载入,停在入口点
0059D000 1> 53 push ebx
0059D001 55 push ebp
0059D002 8BE8 mov ebp,eax
0059D004 33DB xor ebx,ebx
0059D006 EB 60 jmp short 10925_xp.0059D068
0059D008 0D 0A0D0A57 or eax,570A0D0A
0059D00D 57 push edi
0059D00E 50 push eax
0059D00F 61 popad
.....................
.......................
0059D068 E8 00000000 call 10925_xp.0059D06D //F7跟进
0059D06D 58 pop eax
0059D06E 2D 6D000000 sub eax,6D
0059D073 50 push eax
0059D074 60 pushad
0059D075 33C9 xor ecx,ecx
0059D077 50 push eax
0059D078 58 pop eax
0059D079 50 push eax
..........................
.........................
0059D160 3C 04 cmp al,4
0059D162 74 27 je short 10925_xp.0059D18B //这里跳出循环
0059D164 04 07 add al,7
0059D166 3C 0D cmp al,0D
0059D168 72 28 jb short 10925_xp.0059D192
0059D16A 74 0D je short 10925_xp.0059D179
0059D16C B1 0F mov cl,0F
0059D16E E8 42FFFFFF call 10925_xp.0059D0B5
0059D173 66:05 E15F add ax,5FE1
0059D177 EB 2E jmp short 10925_xp.0059D1A7
0059D179 B1 0E mov cl,0E
0059D17B E8 35FFFFFF call 10925_xp.0059D0B5
0059D180 66:05 E11F add ax,1FE1
0059D184 EB 21 jmp short 10925_xp.0059D1A7
0059D186 E9 9E000000 jmp 10925_xp.0059D229
0059D18B E8 4DFFFFFF call 10925_xp.0059D0DD
....................................
0059D212 B1 0E mov cl,0E
0059D214 E8 9CFEFFFF call 10925_xp.0059D0B5
0059D219 66:5A pop dx
0059D21B 66:8BC8 mov cx,ax
0059D21E 87F2 xchg edx,esi
0059D220 F3:A4 rep movs byte ptr es:[edi],byte ptr >
0059D222 8BF2 mov esi,edx
0059D224 ^ E9 C3FEFFFF jmp 10925_xp.0059D0EC //大循环
0059D229 58 pop eax
0059D22A 83C0 04 add eax,4
0059D22D 2BC7 sub eax,edi
......................
0059D281 58 pop eax
0059D282 61 popad //平衡堆栈
0059D283 58 pop eax
0059D284 8BE8 mov ebp,eax
0059D286 2E:0385 95020000 add eax,dword ptr cs:[ebp+295]
0059D28D 05 99020000 add eax,299
0059D292 5D pop ebp
0059D293 5B pop ebx
0059D294 ^ E9 6F61F4FF jmp 10925_xp.004E3408 //跳到真正入口点处
0059D299 0000 add byte ptr ds:[eax],al
0059D29B 40 inc eax
0059D29C 0000 add byte ptr ds:[eax],al
...........................
004E3408 55 push ebp //OEP,插件脱壳
004E3409 8BEC mov ebp,esp
004E340B 83C4 F4 add esp,-0C
004E340E 53 push ebx
004E340F B8 702F4E00 mov eax,10925_xp.004E2F70
004E3414 E8 0B32F2FF call 10925_xp.00406624
用improtREC1.6修复输入表,全部指针有效,fix,运行正常,PEID查是Delphi程序,看DeDe的了,Unit Name:reg一定是他了,选TeThemeButton1Click 4D8BBC,bp 4D8BBC
004D8BBC 55 push ebp //断在这里
004D8BBD 8BEC mov ebp, esp
004D8BBF 33C9 xor ecx, ecx
004D8BC1 51 push ecx //这么多push ecx,不知是什么意思
004D8BC2 51 push ecx
004D8BC3 51 push ecx
004D8BC4 51 push ecx
004D8BC5 51 push ecx
004D8BC6 51 push ecx
004D8BC7 51 push ecx
004D8BC8 53 push ebx
004D8BC9 56 push esi
004D8BCA 8BD8 mov ebx, eax
004D8BCC 33C0 xor eax, eax
004D8BCE 55 push ebp
* Possible String Reference to: '槌??无[?]?
|
004D8BCF 68908D4D00 push $004D8D90
***** TRY
|
004D8BD4 64FF30 push dword ptr fs:[eax]
004D8BD7 648920 mov fs:[eax], esp
004D8BDA 8D55F4 lea edx, [ebp-$0C]
* Reference to control TeThemeEdit1 : TTeThemeEdit
|
004D8BDD 8B83E8020000 mov eax, [ebx+$02E8]
|
004D8BE3 E8841AF5FF call 0042A66C
004D8BE8 8B55F4 mov edx, [ebp-$0C] //获取用户名
004D8BEB 8BC3 mov eax, ebx //我在这里试图在数据窗口改名
* Reference to : TForm5._PROC_004D89EC()
|
004D8BED E8FAFDFFFF call 004D89EC
004D8BF2 84C0 test al, al
004D8BF4 0F845E010000 jz 004D8D58 //改名后,这里会产生跳转,然后程序
004D8BFA 8D55FC lea edx, [ebp-$04] 什么也不作,不明白,改吧,不让它跳
* Reference to control TeThemeEdit1 : TTeThemeEdit
|
004D8BFD 8B83E8020000 mov eax, [ebx+$02E8]
|
004D8C03 E8641AF5FF call 0042A66C //这里会产生异常,跟进
004D8C08 8B45FC mov eax, [ebp-$04] //返回出来后,程序便会根据用户名计算
注册码,反正前面是爆破出来的,计算
| 出注册码也不会正确,干脆爆破到底
004D8C0B E84CFEF2FF call 00408A5C
........................................
........................................
|
004D8C44 E8F7B2F2FF call 00403F40
004D8C49 7439 jz 004D8C84 //这里便是关键的一跳,改为jmp
004D8C4B 6A01 push $01
* Possible String Reference to: '注册失败'
|
004D8C4D B9A08D4D00 mov ecx, $004D8DA0
* Possible String Reference to: '注册失败,请核对注册码或联系作者'
|
004D8C52 BAAC8D4D00 mov edx, $004D8DAC
004D8C57 A1045E4E00 mov eax, dword ptr [$004E5E04]
004D8C5C 8B00 mov eax, [eax]
.......................
...........................
|
004D8C7A E835C0FAFF call 00484CB4
004D8C7F E9D4000000 jmp 004D8D58
004D8C84 6A00 push $00
* Possible String Reference to: '注册成功'
|
004D8C86 B9D08D4D00 mov ecx, $004D8DD0
* Possible String Reference to: '注册成功,欢迎使用系统查看大师'
|
004D8C8B BADC8D4D00 mov edx, $004D8DDC
004D8C90 A1045E4E00 mov eax, dword ptr [$004E5E04]
004D8C95 8B00 mov eax, [eax]
..............................
进入4D8C03的call后来到这里
|
0042A682 E81196FDFF call 00403C98
0042A687 85DB test ebx, ebx
0042A689 740C jz 0042A697 //这里必须跳,否则就会有异常
0042A68B 8D4B01 lea ecx, [ebx+$01]
0042A68E 8B17 mov edx, [edi]
0042A690 8BC6 mov eax, esi
|
0042A692 E859FFFFFF call 0042A5F0 //这里将产生异常
0042A697 5F pop edi
0042A698 5E pop esi
0042A699 5B pop ebx
0042A69A C3 ret
-------------------------------------------------------------
破解小结:这个小软件的破解并不难,有意思的是他的反破解处理,它使没有真正注册文件的人无法输入用户名,采用系统异常手段使得没有用户名的注册无效,会弹出一个错误说明注册名无效,但保护不够不够,很容易对付。爆破完也不会在自检了。
--------------------------------------------------------------------------------------------------------------------------
CRACK by WXHing[BCG][FCG]
2004.7.23
[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法