这种程序一般是DEMO版或菜单中部分选项是灰色。有些DEMO版本的部分功能里面根本就没有。而有些程序功能全有,只要注册后就正常了。 你使用这些DEMO程序部分被禁止的功能时,会跳出提示框,说这是DEMO版等话,它们一般都是调用MessageBox[A] 或 DialogBox[A]等函数。你可在W32DASM反汇编它,一般能找到如下字符串:"Function Not Avaible in Demo" 或 "Command Not Avaible" 或 "Can't save in Shareware
/Demo"等,这些CALL会被相应的调用,可作为你破解的一指示器。
另外,就是菜单中部分选项是灰色的不能用,一般它们是通过如下两种函数实现的:
(1)EnableMenuItem
允许、禁止或变灰指定的菜单条目
BOOL EnableMenuItem(
HMENU hMenu, // 菜单句柄
UINT uIDEnableItem, // 菜单ID,形式为:充许,禁止,或灰
UINT uEnable //菜单项目旗帜
);
Returns
在ASM代码形式如下:
PUSH uEnable //uEnable=0 则菜单选项允许
PUSH uIDEnableItem
PUSH hWnd
CALL [KERNEL32!EnableMenuItem]
(2)EnableWindow
允许或禁止鼠标和键盘控制指定窗口和条目(禁止时菜单变灰)
BOOL EnableWindow(
HWND hWnd, // 窗口句柄
BOOL bEnable // 允许/禁止输入
);
Returns
如窗口以前被禁止则返回一TRUE,否则返回 FALSE。
上一篇:软件保护技术--Key File保护
下一篇软件保护技术--CD-check
温馨提示:
凡在本公司进行电路板克隆业务的客户,必须有合法的PCB设计版权来源声明,以保护原创PCB设计版权所有者的合法权益;