建立先进理念和体系,创造更好技术和工艺,开创不凡业绩和局面

当前位置:首页>技术中心>关于知识产权> 浏览正文

软件保护技术--功能限制的程序

来源:龙人计算机研究所 作者:站长 时间:2006-11-04 17:41:14


这种程序一般是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。