能力值:
( LV2,RANK:10 )
2 楼
坐沙发...
能力值:
( LV2,RANK:10 )
3 楼
太神奇了。。
能力值:
( LV2,RANK:10 )
4 楼
适合入门的小case啊,标记一下学习了
能力值:
( LV2,RANK:10 )
5 楼
文章写的相当浅显易懂 很适新手 支持下楼主
能力值:
( LV13,RANK:1760 )
6 楼
浅显易懂是一个好习惯...
能力值:
( LV2,RANK:10 )
7 楼
我是来吐槽这个软件作者的,这种验证注册方式,我想知道,他软件到底卖了多少钱?
能力值:
( LV13,RANK:1760 )
8 楼
O(∩_∩)O哈哈哈~
能力值:
( LV2,RANK:10 )
9 楼
不错的Case,学习!
能力值:
( LV3,RANK:20 )
10 楼
请问楼主这个软件只有一个注册码吗?
能力值:
( LV13,RANK:1760 )
11 楼
恩,这个注册机制很简单...
能力值:
( LV3,RANK:20 )
12 楼
我还有一个问题想请教楼主:
SendDlgItemMessageA这个函数楼主在IDA给出的注释是“获取用户输入的用户名,保存到全局数组g_szRegCode[]当中“,但MSDN上说”Sends a message to the specified control in a dialog box.“”把一个消息发送给指定的对话框中的控件“,这个地方我不太明白。
能力值:
( LV13,RANK:1760 )
13 楼
对,SendDlgItemMessage是给指定控件发消息,这里他发的消息是获取编辑框中的字符串... 最后的一个参数传入的是一个全局数组的首地址... 你可以OD断在这个函数,看它的参数情况.单步步过这个函数,你会发现这个全局地址已经保存了你输入的用户名...
能力值:
( LV2,RANK:10 )
14 楼
写得不错,现在这样的软件还能找到,哈哈。
能力值:
( LV4,RANK:50 )
15 楼
写的蛮详细的,适合像我这种初学者,感谢楼主的分享!
能力值:
( LV3,RANK:20 )
16 楼
我明白了,感谢楼主。厚着脸皮再问一个问题:
将正确的注册码输入后,每次打开软件,Help—>Enter Registration code ,就会直接弹出注册成功的提示框。但是,我在这一行爆破后:
00411B43 /75 64 jnz short 00411BA9
关闭软件重新打开,又提示我注册(虽然直接按ok就又注册成功了)。
是不是和这些函数有关:
lstrcpyA
lstrcatA
WritePrivateProfileStringA
似乎向rg.tb这个文件里写东西了?
可是我爆破后修改的可执行文件和原来的可执行文件是放在同一个目录下的。
楼主能否帮我解惑一下
能力值:
( LV13,RANK:1760 )
17 楼
写配置文件或者注册表然后重启之后一开始就会验证,这是重启验证的基本方式
能力值:
( LV2,RANK:10 )
18 楼
有收获,实践一下,谢谢!
能力值:
( LV5,RANK:60 )
19 楼
哈哈,现在还有这样的软件,看来看雪的兄弟们还不够努力啊。
能力值:
( LV5,RANK:60 )
20 楼
再来吐槽一下这个软件,软件有个password功能,设置了每次启动需要密码才能打开,od一看,竟然也是用的lstrcmpA直接明文比较,作者真的是完全看不起玩crack的么。。。
能力值:
( LV13,RANK:1760 )
21 楼
呵呵,老外貌似还真不太看得起破解滴
能力值:
( LV2,RANK:10 )
22 楼
在国外,搞破解是很严重的犯罪
能力值:
( LV2,RANK:10 )
23 楼
真的是简单易懂
能力值:
( LV2,RANK:10 )
24 楼
适合初学者的东西。
能力值:
( LV2,RANK:10 )
25 楼
mark一下,适合新手的教程