能力值:
( LV9,RANK:180 )
|
-
-
2 楼
sessiondiy
48919091
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
注册码只输入字母也出现图象。注册名不填。
给个过程看看。如何得到的。提示下也行。
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
sessiondiy
老大 给个分析的过程 OK?????????
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
巧了,密界精华CM练习题里有这个,刚看到,是练爆破的。没有追注册码,我把内容贴出来。
如何谁会追注册码也写出来大家学习。
作者:aqtata 标题:CrackMe3
习题下载
VB程序,没有提示,字符搜索也找不到什么
注册按钮也没有,怎么注册的呢?肯定是你输入注册码时验证
也就是输入一个注册码就触发文本框的"改变事件",VBDE反编译
有2个文本框,都有事件
文本框1,事件代码入口404AA0
文本框2,事件代码入口404C70
哪个是的呢?按照正常逻辑应该是文本框2,事实也如此
在404C70设置断点,随便输入一个注册码马上就中断了
00404C70 > 55 PUSH EBP
00404C71 . 8BEC MOV EBP,ESP
00404C73 . 83EC 0C SUB ESP,0C
00404C76 . 68 26114000 PUSH ; SE handler installation
00404C7B . 64:A1 00000000 MOV EAX,DWORD PTR FS:[0]
f8一直往下走看到可疑跳转
00404D20 . 8B0D 3C604000 MOV ECX,DWORD PTR DS:[40603C]
00404D26 . A1 38604000 MOV EAX,DWORD PTR DS:[406038]
00404D2B . 3BC8 CMP ECX,EAX ====>eax里放的是真注册码
00404D2D . 0F85 EF000000 JNZ CrackMe.00404E22 ====>跳走over
|
能力值:
( LV9,RANK:180 )
|
-
-
6 楼
CorrentSN = 0 <- 初始化
注册名.OnChange()
{
根据注册名计算 CorrentSN
}
注册码.OnChange()
{
if StrToInt(你输入的注册码) == CorrentSN
{....
}
}
--------------------------------
楼主说的状况是因为:
1. 你没动到注册名 = 你没触发 注册名.OnChange()
所以 CorrentSN 还维持在初始值 0
2. 此时你若直接在 注册码 打'a' , 触发 注册码.OnChange()
因 'a'不是'0'~'9', 所以 StrToInt的值为 0
你也可打 0 , 也可符合 0=0
一般这种 Bug 大多发生在初写程序的人.
--------------------------------
00404AA0 注册名.OnChange()
00404C70 注册码.OnChange()
00404D2B 比对注册码
|
|
|