利用VB的函数快速破解VB程序。
有人跟我说看见VB就犯愁,其实我也TMD讨厌VB编写的程序,但是你又不得不佩服它的易用性,而就是因为它有特殊的运行库,这样也给我们带来了方便,只要我们掌握他的几个函数就可以达到快速破解的目的,当然不是对所有的VB程序都是管用的。
下面我们来看一个例子帮助你来分析VB的程序,网页三叉戟3.0的破解过程。同时这个程序也采用了程序启动时再进行检验是否注册的典型程序,让我们来一同分析它吧!
来到注册的地方,输入用户名和注册码:
小球[CCG]
78787878
然后点注册。提示重新启动程序来判断是否注册成功!
用ice载入它,然后load它,来到程序的启动地方,然后下断点:bpx regqueryvalueexa do “d esp->8”(这样你可以快速的达到你想要看到的东西)
然后按F5让程序运行,继续按下去,直到你看见了3次key这个注册表的标志。然后按F12来到程序的真正的领空:
:00428F14 FF15F8114000 Call dword ptr
[004011F8]
:00428F1A 898520FFFFFF mov dword ptr
[ebp+FFFFFF20], eax <----大概是停到这里,eax中就是你输入的假的注册码。
:00428F20 C78518FFFFFF08000000 mov dword ptr [ebp+FFFFFF18], 00000008
:00428F2A 8D9518FFFFFF lea edx, dword
ptr [ebp+FFFFFF18]
:00428F30 8D4D8C
lea ecx, dword ptr [ebp-74]
* Reference To: MSVBVM60.__vbaVarMove, Ord:0000h
|
:00428F33 FF1520104000 Call dword ptr
[00401020]
:00428F39 C745FC0B000000 mov [ebp-04], 0000000B
:00428F40 C785BCFEFFFFB00E4200 mov dword ptr [ebp+FFFFFEBC], 00420EB0
:00428F4A C785B4FEFFFF08800000 mov dword ptr [ebp+FFFFFEB4], 00008008
:00428F54 8D45C0
lea eax, dword ptr [ebp-40]
:00428F57 50
push eax
:00428F58 8D8DB4FEFFFF lea ecx, dword
ptr [ebp+FFFFFEB4]
:00428F5E 51
push ecx
通过反复的跟踪我始终没有发现有明码的比较,可见作者还是费了很大的心机的。你可以用Ctrl+PageDown向下查找有用的函数,翻了好久你可能看见了一些计算的函数,最终来到这儿:
* Reference To: MSVBVM60.__vbaVarTstEq, Ord:0000h
|
:00429329 FF150C114000 Call dword ptr
[0040110C]
:0042932F 66898580FEFFFF mov word ptr [ebp+FFFFFE80],
ax
:00429336 8D8D3CFFFFFF lea ecx, dword
ptr [ebp+FFFFFF3C]
这里就是比较后的判断函数了,MSVBVM60.__vbaVarTstEq这个函数很是有趣,在《发了体育彩票2.3》中它也是判断是否注册的函数,下面就是怎么改的问题了。看看各个寄存器,发现只有ebx是1,好了就把0042932F
66898580FEFFFF mov word ptr [ebp+FFFFFE80],
ax改为0042932F 66898580FEFFFF mov word ptr [ebp+FFFFFE80],
bx
这样你就巧妙的爆破了这个程序。
幸运昕看到了吗?希望你试试!
小球[CCG]
2001.11.1
- 标 题:利用VB的函数快速破解VB程序! (2千字)
- 作 者:小球[CCG]
- 时 间:2001-11-3 14:53:43
- 链 接:http://bbs.pediy.com