這種程序一般是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設計版權所有者的合法權益;