Easyboss VT8的另类爆破
破解说明:本软件未注册版的功能与注册版功能完全相同,只是启动程序时多了个要求注册的NG,本软件在DFCG早已经有人通过修改关键跳来实现爆破,但本人运用作者的方式进行爆破后,所得的程序运行后仍有NG,并且软件的大部分功能键变成了灰色按钮,本人也在DFCG上对此提出过疑问,后来也找到了解决方法,但是没有写出来,这次写出来供和我一样的菜鸟来分享。破解工具:fly版OD,PEID0.93
操作系统:wundows XP
破解原因:NG
难度:很简单,适合象我一样的菜鸟拿来学习
作者声明:初学cracking,仅作学习交流,无其它目的.如果你觉得本软件对你有用,建议你向软件作者购买注册版
下载:www.chinabizman.com
过程:
PEID查,无壳,Dephli写的程序
OD载入,用插件找到字符串“注册失败!,请检查机器码和服务商提供注册码是否一致”(因我是进入程序后才在任务栏注册),双击来到代码处
0088BB69 8D40 00 lea eax,dword ptr ds:
0088BB6C 53 push ebx
0088BB6D 56 push esi
0088BB6E 8BF0 mov esi,eax
0088BB70 8B0D 24FD8900 mov ecx,dword ptr ds:
0088BB76 B2 01 mov dl,1
0088BB78 A1 98EE7300 mov eax,dword ptr ds:
0088BB7D E8 76B5C1FF call ftrade.004A70F8
0088BB82 8BD8 mov ebx,eax
0088BB84 8BC3 mov eax,ebx
0088BB86 8B10 mov edx,dword ptr ds:
0088BB88 FF92 EC000000 call dword ptr ds:
0088BB8E 48 dec eax
0088BB8F 75 4B jnz short ftrade.0088BBDC
0088BB91 E8 2ACCD5FF call ftrade.005E87C0
0088BB96 84C0 test al,al
0088BB98 75 09 jnz short ftrade.0088BBA3
0088BB9A E8 65CDD5FF call ftrade.005E8904
0088BB9F 84C0 test al,al--------------------------------------关键call
0088BBA1 74 21 je short ftrade.0088BBC4------------------关键跳
0088BBA3 6A 40 push 40
0088BBA5 B9 E8BB8800 mov ecx,ftrade.0088BBE8
0088BBAA BA F0BB8800 mov edx,ftrade.0088BBF0
0088BBAF A1 40B18900 mov eax,dword ptr ds:
0088BBB4 8B00 mov eax,dword ptr ds:
0088BBB6 E8 C530C2FF call ftrade.004AEC80
0088BBBB 8BC6 mov eax,esi
0088BBBD E8 8E080000 call ftrade.0088C450
0088BBC2 EB 18 jmp short ftrade.0088BBDC
0088BBC4 6A 40 push 40
0088BBC6 B9 E8BB8800 mov ecx,ftrade.0088BBE8
0088BBCB BA FCBB8800 mov edx,ftrade.0088BBFC------------------来到这里
0088BBD0 A1 40B18900 mov eax,dword ptr ds:
0088BBD5 8B00 mov eax,dword ptr ds:
0088BBD7 E8 A430C2FF call ftrade.004AEC80
0088BBDC 8BC3 mov eax,ebx
0088BBDE E8 C580B7FF call ftrade.00403CA8
0088BBE3 5E pop esi
0088BBE4 5B pop ebx
0088BBE5 C3 retn
向上找的关键的跳转和关键的call,发现text al,al是比较标志位,不是普通的明码比较,在关键call下断,运行程序,进入程序后输入相应的注册名及注册码,按“注册”,程序在关键call处被断了下来,里面的很简单,可以先F8一路粗看一遍,找到程序在返回call前的最后一次对eax的付值的代码处,
005E8B01 64:8910 mov dword ptr fs:,edx
005E8B04 68 1E8B5E00 push ftrade.005E8B1E
005E8B09 8D45 C4 lea eax,dword ptr ss:
005E8B0C BA 0F000000 mov edx,0F
005E8B11 E8 D2C0E1FF call ftrade.00404BE8
005E8B16 C3 retn
005E8B17^ E9 28B9E1FF jmp ftrade.00404444
005E8B1C^ EB EB jmp short ftrade.005E8B09
005E8B1E 8BC2 mov eax,ecx------------------------------就是这里了
005E8B20 5E pop esi
005E8B21 5B pop ebx
005E8B22 8BE5 mov esp,ebp
005E8B24 5D pop ebp
005E8B25 C3 retn
看一下积存器的数值:
EAX 00000000
ECX 00000000
EDX 0012FDFC
EBX 00000000
ESP 0012FC14
EBP 0012FC58
ESI 011F9D60
EDI 0012FEB0
EIP 005E8B1E ftrade.005E8B1E
C 0ES 0023 32bit 0(FFFFFFFF)
P 1CS 001B 32bit 0(FFFFFFFF)
A 0SS 0023 32bit 0(FFFFFFFF)
Z 1DS 0023 32bit 0(FFFFFFFF)
S 0FS 0038 32bit 7FFDE000(FFF)
T 0GS 0000 NULL
D 0
O 0LastErr ERROR_SUCCESS (00000000)
EFL 00000246 (NO,NB,E,BE,NS,PE,GE,LE)
ST0 empty -??? FFFF 00000000 00000000
ST1 empty -??? FFFF 001C001C 001C001C
ST2 empty -??? FFFF 00000000 00000000
ST3 empty -??? FFFF 00000001 000C001C
ST4 empty -NAN FFFF E386531C FF884804
ST5 empty -??? FFFF 00000001 000D001C
ST6 empty -??? FFFF 00000000 00000000
ST7 empty 1.0000000000000000000
3 2 1 0 E S P U O Z D I
FST 4000Cond 1 0 0 0Err 0 0 0 0 0 0 0 0(EQ)
FCW 1272Prec NEAR,53掩码 1 1 0 0 1 0
很明显如果过了上面005E8B1E处的代码后eax的值将被付为0,如果al的值就为0,在我们关键跳转的条件将成立,那就K.O。在这个时候看看寄存器,我们就发现edx的值不为0,如果我们将上面的代码005E8B1E 8BC2 mov eax,ecx改成005E8B1E8BC2 mov eax,edx,
那么关键跳转的条件就不成立,也就达到了我们的目的。收工!!!
运行修改后的程序,NG没了~~~~~~~~~~爽!!!请慢,到了程序里边,看看主菜单上面,还有带[未注册]的字样,TMD看着这个就不爽,OD再来载入程序,查找字符串“(未注册版本)”
0088C4CF 84C0 test al,al
0088C4D1 EB 21 jmp short ftrade.0088C4F4-------这里是我改好的了,原来是je还是jne不记得了
0088C4D3 8D55 F0 lea edx,dword ptr ss:
0088C4D6 8BC3 mov eax,ebx
0088C4D8 E8 8B14C0FF call ftrade.0048D968
0088C4DD 8D45 F0 lea eax,dword ptr ss:
0088C4E0 BA 20C68800 mov edx,ftrade.0088C620
0088C4E5 E8 B289B7FF call ftrade.00404E9C
0088C4EA 8B55 F0 mov edx,dword ptr ss:
0088C4ED 8BC3 mov eax,ebx
0088C4EF E8 A414C0FF call ftrade.0048D998
0088C4F4 8D55 E8 lea edx,dword ptr ss:
将代码上面的跳转改成绝对跳转跳过即可。OK收工
再次运行程序,怎么样?NG没了,(未注册版本)也没了,完美破解。
[ 本帖最后由 tigerisme 于 2006-8-26 20:50 编辑 ] 支持!,我顶下咯 没什么特别,就是修改FLAG。不新鲜。 Originally posted by skyege at 2005-8-9 06:00 PM:
没什么特别,就是修改FLAG。不新鲜。
大哥,怎么也要尊重别人的劳动成果嘛! 改关键跳0088BBA1 74 21 je short ftrade.0088BBC4为JNE不行吗? 顶,好哦!! 我为什么找不到中文字符呢?? 呵呵。。我是个初学者,还不是太懂这些东东。。
先收藏起来。。谢谢。。
页:
[1]