能力值:
( LV9,RANK:160 )
|
-
-
2 楼
这样算爆破成功吧?
谢谢LZ的CM。。
|
能力值:
( LV12,RANK:250 )
|
-
-
3 楼
hoho... 偶没加验证,爆破会快一点。
等待算法。。。。
|
能力值:
( LV4,RANK:50 )
|
-
-
4 楼
用SmartCheck获取click事件的地址
在OD中CRTL+G定位到这个位置,下断点,F9执行输入用户名和错误的序列号,点"试试手气",来到断点处,F8到402F38
00402F2C . FF15 28104000 call dword ptr [<&MSVBVM60.__vbaFreeO>; MSVBVM60.__vbaFreeObjList
00402F32 . 83C4 18 add esp, 18
00402F35 . 66:85FF test di, di
[COLOR=red]00402F38 74 6C je short 00402FA6 ;这里会跳到另一个出错提示,判断用户和序列号是否为空的,继续F8[/COLOR]
00402F3A . 8B0E mov ecx, dword ptr [esi]
F8到402FA6
[COLOR=red]00402FA6 > \66:833D 24604>cmp word ptr [406024], 0[/COLOR]
00402FAE . 8B0E mov ecx, dword ptr [esi]
00402FB0 . 56 push esi
[COLOR=red]00402FB1 75 62 jnz short 00403015 ;这里就是跳转的关键地方[/COLOR]
在00402FA6处的指令,提取保存在406024处的一个低四节值与0做比较,如果是0那么验证通过,非0(FFFF)验证失败
我把00402FB1这句指令NOP掉
00402FAE . 8B0E mov ecx, dword ptr [esi] ; CrackMe1.00406354
00402FB0 . 56 push esi
[COLOR=green]00402FB1 . 90 nop[/COLOR]
[COLOR=green]00402FB2 . 90 nop[/COLOR]
00402FB3 . FF91 0C030000 call dword ptr [ecx+30C]
右键->复制到文件中->全部修改,再次右键->保存到文件(不要覆盖原始CM)
再次运行CM,随便输入点什么,提示如下:
至于注册机嘛,我还没分析出来,看汇编代码算法部分应该是在403320处,输入序列号的时候计算的,不是在最后比较处,序列号貌似是从后开始,每2位结合为一个十六进制,然后得到ASCII,,,其他还没有看明白,我太菜了,,,呵呵
|
能力值:
( LV12,RANK:250 )
|
-
-
5 楼
[QUOTE=asmc;699079]用SmartCheck获取click事件的地址
33037
在OD中CRTL+G定位到这个位置,下断点,F9执行输入用户名和错误的序列号,点"试试手气",来到断点处,F8到402F38
00402F2C . FF15 28104000 call dword ptr [<...[/QUOTE]
这位同学几乎就要成功了!加油。
|
能力值:
( LV4,RANK:50 )
|
-
-
6 楼
分析VB的反汇编代码是一件很头疼的事情,而且还不熟悉VB,呵呵,LZ贴算法吧
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
[QUOTE=asmc;699079]用SmartCheck获取click事件的地址
33037
在OD中CRTL+G定位到这个位置,下断点,F9执行输入用户名和错误的序列号,点"试试手气",来到断点处,F8到402F38
00402F2C . FF15 28104000 call dword ptr [<...[/QUOTE]
请问你用的SmartCheck哪个版本?我用的6.2版本,竟然无法运行楼主的程序。。
|
能力值:
( LV4,RANK:50 )
|
-
-
8 楼
看雪2009新年大礼包里的
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
我是从其他地方下过来的,
看雪2009大礼包里的我这竟然解压不了,出错了,我去找个别的版本试试先
|
能力值:
( LV4,RANK:50 )
|
-
-
10 楼
笨,那不是解压,是ISO文件,你用虚拟光驱挂上
|
能力值:
( LV7,RANK:110 )
|
-
-
11 楼
用最新版本的WINRAR也可以解压ISO文件
*************************************
OD分析VB真是痛苦
输入SN后先这样运算:
for (i=0;i<U.len;i++)
{
S[i]=(U[i]->ACSII->10进制)-32;
}
更新中~~~~~~~
|
能力值:
( LV15,RANK:1673 )
|
-
-
12 楼
[QUOTE=柳州小林;700187]用最新版本的WINRAR也可以解压ISO文件
*************************************
OD分析VB真是痛苦
输入SN后先这样运算:
for (i=0;i<U.len;i++)
{
S[i]=(U[i]->ACSII->10进制)-32...[/QUOTE]
你写这几句算的不是SN吧, 并且好象少了个判断 u[i] > 'Z',
其实也就是s[i] = toupper(u[i]);
这只是个转成大写的步骤.
这个CM算法比较简单,不过还是比较有意思的...大家可以玩玩...
|
能力值:
( LV7,RANK:110 )
|
-
-
13 楼
[QUOTE=AloneWolf;700253]你写这几句算的不是SN吧, 并且好象少了个判断 u[i] > 'Z',
其实也就是s[i] = toupper(u[i]);
这只是个转成大写的步骤.
这个CM算法比较简单,不过还是比较有意思的...大家可以玩玩...[/QUOTE]
请赐教!用什么工具分析出来的!
*************************************
我在关键跳的地方加了VMP,请大家看看还能不能爆破!
|
能力值:
( LV15,RANK:1673 )
|
-
-
14 楼
OD...
不喜欢爆破...总是想知道算法...
但当然不一定能知道...
|
能力值:
( LV9,RANK:180 )
|
-
-
15 楼
|
能力值:
( LV2,RANK:10 )
|
-
-
16 楼
用户名注册码输入完毕以后.
下bp __vbaStrCmp断点.点试试运气.
734793DA > FF7424 08 push dword ptr [esp+8] //od停在这里.
734793DE FF7424 08 push dword ptr [esp+8]
734793E2 6A 00 push 0
734793E4 E8 44E6FFFF call __vbaStrComp
734793E9 C2 0800 retn 8
alt+f9返回用户代码.
下面就会看见2个比较大的跳转.哈哈!
|
能力值:
( LV2,RANK:10 )
|
-
-
17 楼
[QUOTE=KOEIKOEI;707071]
用户名注册码输入完毕以后.
下bp __vbaStrCmp断点.点试试运气.
734793DA > FF7424 08 push dword ptr [esp+8] //od停在这里.
734793DE FF7424 08 pus...[/QUOTE]
我按照你的方法试了一下,下了如下2个断点:
004034A1 . FF15 6C104000 call dword ptr [<&MSVBVM60.__vbaStrCm>; MSVBVM60.__vbaStrCmp
00402FA1 /75 62 jnz short 00403005 后,
每输入一个注册码,OD都在004034A1 断了下来(注意我并没有点“试试运气”),必须按F9后,才能继续输入下一个注册码(而且,这个时候 00402FA1 处并没有断下来)。 只有在点“试试运气”后,00402FA1 处才能断下来。
我的意思是说,光一个bp __vbaStrCmp断点,无法断下点“试试运气”后的情况啊。还是不知道你是如何断 “试试运气” 的。
|
能力值:
( LV2,RANK:10 )
|
-
-
18 楼
[QUOTE=asmc;699079]用SmartCheck获取click事件的地址
33037
在OD中CRTL+G定位到这个位置,下断点,F9执行输入用户名和错误的序列号,点"试试手气",来到断点处,F8到402F38
00402F2C . FF15 28104000 call dword ptr [<...[/QUOTE]
如何用SmartCheck获取click事件的地址 啊?能否说详细点?
|
能力值:
( LV2,RANK:10 )
|
-
-
19 楼
拉下来,学习学习
|
能力值:
( LV2,RANK:10 )
|
-
-
20 楼
学习!!!!!!!!!!
|
能力值:
( LV2,RANK:10 )
|
-
-
21 楼
感谢各位大牛
|
|
|