阻止鍵盤間諜
不被**的edit控制項
不被**的edit控制項在每次使用者敲鍵以後都會產生一些隨機鍵盤事件。鍵盤間諜將會捕捉到使用者的鍵盤事件和控制項建立的虛假事件,從而很難判斷真實敲鍵的內容。另一方面,使用者的輸入是被儲存在控制項的成員變數中的,應用程式不會受到影響。虛假鍵盤事件是利用sendinput api函式產生的。我分別實現了mfc和c#可用的控制項。
不被**的edit控制項假定sendinput產生鍵盤事件的速度遠快於使用者本身的輸入,但這可能導致在一些較慢的機器上, 控制項會返回錯誤的使用者輸入,尤其是c#的實現中。
mfc csafeedit:
void csafeedit::onkeyup(uint nchar, uint nrepcnt, uint nflags)
if (m_state == 0)
else
cedit::onkeyup(nchar, nrepcnt, nflags);}/
cstring csafeedit::getrealtext()/
int csafeedit::senddummykeystrokes()
return ikeystrokecount;
}刪除間諜類庫(spyremover)
基於鉤子的間諜程式都是依賴於存放鉤子程式的dll檔案的,因此應用程式的程序中通過呼叫freelibrary api移除掉鉤子dll,將會使鍵盤間諜鉤子失效。spyremover的建構函式中建立乙個授權模組的列表,然後通過列舉程序所有已載入的模組來檢測未授權的模組,鍵盤間諜的鉤子dll也在其中。
void spyremover::timerproc(hwnd hwnd, uint umsg,
unsigned int idevent, dword dwtime)//
spyremover::spyremover(char* szauthorizedlist)//
void spyremover::enummodules()
//walk the module list of the process
do } while( module32next( hmodulesnap, &me32 ) );
closehandle(hmodulesnap); }//
bool spyremover::i**oduleauthorized(char* szmodulename)
間諜軟體 Spyware
spyware 在使用者不知情的情況下,在其電腦上安裝後門,收集使用者的個人資訊的軟體,能夠消弱使用者對其使用經驗,隱私及系統安全的物質控制能力 消耗電腦資源包括安裝包上的程式一般編寫十分簡陋 收集或散布使用者的個人資訊。甚至能夠在使用者不知情的情況下對裝置進行控制,並在使用者同意情況下通過cook...
C NOIP模擬題 間諜網路
由於外國間諜的大量滲入,正處於高度危機之中。如果a間諜手中掌握著關於b間諜的犯罪證據,則稱a可以揭發b。有些間諜接 賂,只要給他們一定數量的美元,他們就願意交出手中掌握的全部情報。所以,如果我們能夠收買一些間諜的話,我們就可能控制間諜網中的每一分子。因為一旦我們逮捕了乙個間諜,他手中掌握的情報都將歸...
動態規劃 城市裡的間諜
解題思路 本題利用動態規劃解決,時刻i和所在的車站j構成了乙個狀態,每個狀態都有三種決策 1 等待1分鐘。2 搭乘向右開的車 如果有 3 搭乘向左開的車 如果有 如果用d i,j 表示在時刻i,位於車站j時最少的等待時間,那麼對於三種決策,可得到如下的狀態轉移方程 1 d i,j d i 1,j 1...