BUPack Package控件注册提示窗口消除法。
BUYPIN系列套装控件BUPack Package是Delphi下的需要莫名其妙地注册的优秀控件组之一,凡是使用了它的程序在运行时都会检测是否是设计期还是运行期,方法就是通过FindWindowA函数查找Delphi中的对象观察器窗口的类名"TPropertyInspector",根据返回的值判断是否存在此窗口,进而判断是否处于设计环境下。如果不是,则弹出提示注册对话框。
程序中对应的代码如下:
:00473004 6A00
push 00000000
:00473006 6818304700 push 00473018
;这里00473018处是字符串"TPropertyInspector"的地址。
:0047300B E85C36F9FF Call 0040666C
;调用Findwindow函数。
:00473010 85C0
test eax, eax
:00473012 0F95C0
setne al
;如果EAX为0则将AL设置为0。如EAX非0则表示找到了"TPropertyInspector"窗口,
接下来的SETNE AL会使AL变为1,表示处于设计期,不出现注册提示框。
:00473015 C3
ret
因此好办,将setne al改成mov al,1就是了。不过后边还得加一个NOP
总结:
查找并修改以下十六进制字符串便可消除提示框:
85 C0 0F 95 C0 C3
-->
.. .. B0 01 90 ..
——当然,解除BUPack Package控件提示框的方法还有很多,但这个算比较保险的,只需要修改一条指令,而且似乎还比较通用,不像其他修改特定地址的CALL指令或JNZ指令的方法,倘若换一个程序,没准就失效了。
————————————————————————
咱是Crack的初学者,toye兄的教学文章让我入了门,在此表示感谢。另外问一句,整理后的教学什么时候提供CHM格式的下载啊?许多文章我没下载完整,想来个“打包”。
- 标 题:初学者的东西:BUPack Package控件注册提示窗口消除 (1千字)
- 作 者:Passion
- 时 间:2000-12-26 21:02:58
- 链 接:http://bbs.pediy.com