Source Code中隱藏程序的部份在hp_hook函式,其他的部份是把整個OS暫停。
由於隱藏程序過程如果發生進程切換,可能導致系統崩潰,但找不到新版本Linux Kernel中關閉整個OS進程切換的內建函式(以前有,但是新版Linux Kernel不希望開發者這麼做),只能關閉CPU單一核心進程切換(preempt_disable或是指令cli)。因此透過切換各CPU核心並執行preempt_disable,確定每個核心的進程切換都被關閉後才執行hp_hook函式。
目前發現在隱藏有視窗的程序時,執行Unhide檢測後,會出現奇怪的結果,原本該程序的PID沒被檢測到隱藏,但是檢測到原本不存在PID,原因不明。
Source Code:http://www.mediafire.com/?mroby9rj1uk2qc5
- 執行make編譯Driver,執行gcc -O2 app.c -o app編譯隱藏工具
- 先執行insmod hpmod.ko載入Driver,並執行./app (root權限),輸入要隱藏的PID
Hide vim前
Hide vim後,並確定vim正常運作
原來是在Linux上的,這普及率不高吧?
ReplyDelete另外之前那個Windows上的桌面切換程式有無載點呢?
不知道丟到哪了= =
Delete話說,這個是指有那個讀取不到,還是連sudo top都無法檢查到?
Delete應該是sudo top,ps 都讀不到
Delete好專業的Blog XD
ReplyDelete膜拜一下<(_ _)>
請教一下,請問您的kernel版本為何?
ReplyDelete我是使用centos或redhat,編driver會少東少西,報一堆錯誤。
謝謝您!