一本到国产在线精品国内,国产大屁股视频免费区无卡,精品国产日韩aV在线免费观看,国产欧美日韩综合精品一区二区

建立先進(jìn)理念和體系,創(chuàng)造更好技術(shù)和工藝,開創(chuàng)不凡業(yè)績和局面

當(dāng)前位置:首頁>技術(shù)中心>關(guān)于知識產(chǎn)權(quán)> 瀏覽正文

軟件保護(hù)技術(shù)--警告(NAG)窗口

來源:龍人計(jì)算機(jī)研究所 作者:站長 時(shí)間:2006-11-04 17:44:00


 Nag的本義是煩人的意思。Nag窗口是軟件設(shè)計(jì)者用來不時(shí)提醒用戶購買正式版本的窗口。軟件設(shè)計(jì)者可能認(rèn)為當(dāng)用戶受不了試用版中的這些煩人的窗口時(shí)就會(huì)考慮購買正式版本。它可能會(huì)在程序啟動(dòng)或退出時(shí)彈出來,或者在軟件運(yùn)行的某個(gè)時(shí)刻隨機(jī)或定時(shí)地彈出來,確實(shí)比較煩人。   去除警告窗口常用的三種方法是:修改程序的資源、靜態(tài)分析,動(dòng)態(tài)分析。
  去除警告窗口用資源修改工具是個(gè)不錯(cuò)的方法,可以將可執(zhí)行文件中的警告窗口的屬性改成透明、不可見,這樣就變相去除了警告窗口。
  如果是動(dòng)態(tài)跟蹤調(diào)試,只需找到創(chuàng)建此窗口的代碼,跳過即可。常用的顯示窗口的函數(shù)有MessageBoxA、MessageBoxExA、MessageBeep 、DialogBoxParamA 、ShowWindow、CreateWindowExA等。然而某些警告窗口用這些斷點(diǎn)不管用,就可試試?yán)孟⒃O(shè)斷點(diǎn),一般都應(yīng)能攔截下來。


例:利用消息斷點(diǎn)攔截警告窗口:

  切換到SOFTICE下命令: HWND
  應(yīng)看到如下的類似信息:

Window-Handle hQueue SZ QOwner Class-Name Window-Procedure
0080 (0) 2057 32 MSGSVR32 #32711 (switch_win) 17EF:00004B6E
0084 (1) 2057 32 EXPLORER shell_trayWnd 1487:0000016C
... ... ... ... ... ...

  在這些列表中查找相關(guān)應(yīng)用程序的窗口句柄。如果NAG窗口上有OK按鈕,在class name查找“button”。如果NAG窗口上什么都沒有,那可試驗(yàn)找出正確的句柄。句柄列表可能非常長,但通常NAG窗口的句柄一般在列表的前面。

注:在這里推薦用SMU Winspector工具協(xié)助破解NAG.它能顯示你所需要的信息:Window-Handle, Window-Class Name, Window-Text, Parent Window-Handle, Parent-Window Class Name, Parent Window-Text, Module ...

  一但找到NAG窗口的句柄,應(yīng)用BMSG命令在Windows的消息上下斷點(diǎn),F(xiàn)在假設(shè)NAG窗口有OK按鈕,你己找到正確的句柄(handle),這時(shí)下命令:

  BMSG 0084 WM_DESTROY

   0084是NAG窗口的句柄(handle)。這條命令是NAG窗口從屏幕上消失時(shí),SoftICE將中斷。此時(shí)將深入到一些不認(rèn)識的API函數(shù),可按F12返回程序。需要指出,跟蹤的目的是發(fā)現(xiàn)NAG窗口在何處初始化(在返回的CALL用設(shè)斷)。NAG窗口大多用Created/Destroyed類似的CALL,因此如發(fā)現(xiàn)這些,就可按需要跟蹤下去。