Windows 7 與 360安全衛士共同作用下調試程序的一些問題

聲明:

本文沒有黑360安全衛士的意思,相反,感覺安全衛士還是可以的,起碼做到了一些基礎防護。


正文:

關於Windows 7就不多說了,界面炫麗,比Vista好用不少,Vista當初裝上沒兩天,就直接革掉,換個XP。Windows 7 按照官方的說法,比XP改進太多了,個人感覺,或者說從個人的使用上來說,Windows 7相比XP來說,一個是界面炫了(炫了就需要消耗性能資源,那也就比XP慢了),一個是比XP更加安全了(增加了UAC,UAC是從Vista開始增加的,但是Vista沒幾個用它寫程序的估計,所以也沒發現太多問題。增加了UAC,那也會消耗資源,降低性能)。總結一句話,凡事是需要代價滴,天下沒有免費午餐!!!

再說360安全衛士,說到360安全衛士,就會想到幾個詞(“流氓” —— 開玩笑,開玩笑):“被攔了”,“被360刪掉了”等等吧,諸如此類。以前還沒太注意(注:以前不用360安全衛士,O(∩_∩)O哈哈哈~),換到了Win 7系統了,用用360安全衛士吧,貌似比某度衛士要好用不少。

於是乎,問題來了。

先說個場景吧!

假設我有一個即時通信的軟件,微Q,它可以支持數據的加密(動態的密鑰,軟件運行後與服務器協商密鑰),我要做一個抓取這個 微Q 數據包的一個工具(很蛋疼哈),那麼呢,就出現一個問題了,微Q的數據是啓動後,動態獲取密鑰,來用於本段時間的數據加密。我們抓取了數據包,要解密,就需要這個密鑰。爲了不動微Q程序,自己在單獨寫一個小程序,負責數據的解密,但是這個程序需要放到微Q的目錄下,從通信動態庫中獲取密鑰,來解密數據。

啓動抓包程序時,同時啓動我們寫的這個抓包軟件,抓包軟件抓包之後,對於抓取的微Q的數據包,將數據包解包,然後將數據包內容傳給 解密的軟件,解密後,將數據再回傳我們的這個抓包程序,進行顯示。

爲了使用方便,在我們抓包程序啓動後,檢測解密軟件是否在微Q的目錄下,如果不在,則將解密程序向其中複製一份。啓動抓包程序後,啓動解密程序,以便在抓包過程中,即時地對抓取的微Q數據包進行解密。

什麼問題呢?

在調試的過程中,我們需要將解密程序編譯輸出到微Q目錄進行調試。調試完成,我們需要將 解密程序動態地複製到 微Q的目錄中。

先說第一個,要將解密程序編譯輸出到微Q目錄,而Win 7 是有UAC的,微Q如果裝在了C盤中,那麼,我們的程序是無法將編譯輸出,直接寫到C盤上的。對,有一個方法,那就是將編譯器  以管理員身份運行,OK,我們輕鬆地將編譯結果輸出到了 C盤上的微Q目錄。

調試完成,編譯一個來跑一下程序吧: 默認 微Q目錄沒有我們的解密程序,抓包程序啓動,將解密程序複製到 C盤的微Q,路徑查找正確,CopyFile錯誤。同志們異口同聲地說,UAC吧?沒錯,就是UAC這個玩意,Win 7上默認編譯的程序,都是Invoker 的權限,而要向C盤寫入東西,需要時Administratory的權限,於是乎問度娘之後,找到了解決方法,編譯程序時,將工程Property中的Linker 下的manifest 項中 UAC Execution Level 中,選擇 requireAdministrator 選項。

說了這麼多,其實最簡單的方法是:關掉Win 7的UAC,徹底解決問題(這樣會在測試的時候碰到一堆問題),關閉方法:開始 -> 點擊頭像 -> "更改用戶賬戶控制設置" ->將 滑動塊拉到最底端,重啓計算機即可。

360安全衛士還沒搗亂呢是吧?彆着急,上面即時關掉了UAC,也不好使,抓包程序啓動時,仍然無法通過CopyFile將解密文件複製到 微Q目錄,返回值False,GetLastError() 返回 5 (沒有權限)。你大爺的,一個微Q,有個球權限啊。手動複製,成功;使用CMD,copy 命令,沒有權限。這尼瑪是爲什麼呢?各種折騰,很少人碰到 CopyFile的GetLastError返回5的問題啊。

各種糾結,糾結了一天之後,猛然想到了安全衛士 有一個 什麼“文件系統防護”,退出360安全衛士,再啓動軟件,瞬間淚奔了!見到親人的感覺。尼瑪,坑爹也不帶這樣的。

不能總關着360安全衛士吧,怎麼解決呢??關掉衛士的 文件系統防護功能,複製完文件,再開啓? 但是 360將數據寫到哪裏了呢,配置文件?明顯360的文件是碰不得的(人家不會讓動)。寫入註冊表?翻一翻那個安全防護中心,文件系統防護下面,就有一個註冊表防護,註冊表也是修改不了的吧?

到最後基本崩潰了。


後記:

1. 手動複製到 微Q目錄成功,而 CMD的copy 命令不行。這個其實是 Explorer進程可以進行復制,說明是人操作的,而copy命令會另外啓動進程,進行復制,這是病毒或木馬的行爲,因此被 360攔截了。同理我們的抓包程序。

2. 還有一個沒有試驗,因爲懶得做那個安裝包,使用安裝包不知道是否可以將 解密程序 在安裝時複製到微Q目錄。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章