Anti-Screen Capture(Prevent Screen Captures)截圖與反截圖
1.數字圖片使用類似與動畫的方式顯示,每次顯示的是數字的一部分,當動態顯示的時候人眼是可以分辨出具體數字的。但是截圖的話就只能擷取一部分,參考:
cups.cs.cmu.edu/soups/2007/posters/p147_lim.pdf
2.遮蔽系統按鍵:Print Screen 和 Alt + Print Screen,主要原理是註冊熱鍵的方式,參考:
http://www.vckbase.com/document/viewdoc/?id=1566
3.全域性Hook,參考:
Screen Capture Library for Windows : http://gpalem.web.officelive.com/screencap.html
http://topic.csdn.net/u/20090914/00/70e6da83-906b-4db4-a3ee-d79dfd460bd6.html
這種方法不僅要Hook GDI方式的截圖還有DirectX方式的截圖,當然不排除還有其他方式的截圖,例如:“Windows Media API for Capturing the Screen”。
所以這種方法實施起來甚是繁瑣,第一要儘可能多地Hook相關API函式,但是你很難做到全面。另一方面穩定性,擴充套件性和維護性也不太好。
4.視訊過濾驅動(Video filter drivers)。
相對於Hook來說可能更好一些,但是技術難度比較大。
http://search.codesoso.com/Record/ddf85213-2bdf-bfae-5626-15646cefdf09_446750_1.html
http://www.codeproject.com/Articles/Toby-Opferman
Driver Development Part 6: Introduction to Display Drivers
5.ShadowSSDT
經過體驗“卡巴斯基2012”版本的虛擬鍵盤功能,發現其有防截圖功能,當虛擬鍵盤開啟時擷取的螢幕是全黑色的。如果虛擬鍵盤未開啟,則截圖時截不到卡巴斯基的主介面。
使用xuetr分析,卡巴斯基並沒用設定“Video filter drivers”,而是使用了ShadowSSDT做的防截圖,以下是驅動klif.sys的ShadowSSDT:
[code=C/C++]
[XueTr][ShadowSSDT]: 21
序號 函式名稱 當前函式地址 Hook 原始函式地址 當前函式地址所在模組
13 NtGdiBitBlt 0xB1EE8508 ssdt hook 0xBF809F5F C:\WINDOWS\system32\DRIVERS\klif.sys
227 NtGdiMaskBlt 0xB1EE85DE ssdt hook 0xBF8384E0 C:\WINDOWS\system32\DRIVERS\klif.sys
237 NtGdiPlgBlt 0xB1EE864E ssdt hook 0xBF943B92 C:\WINDOWS\system32\DRIVERS\klif.sys
292 NtGdiStretchBlt 0xB1EE8572 ssdt hook 0xBF8738A3 C:\WINDOWS\system32\DRIVERS\klif.sys
307 NtUserAttachThreadInput 0xB1EE8BD6 ssdt hook 0xBF8F7976 C:\WINDOWS\system32\DRIVERS\klif.sys
312 NtUserBuildHwndList 0xB1EE86B6 ssdt hook 0xBF835EA1 C:\WINDOWS\system32\DRIVERS\klif.sys
323 NtUserCallOneParam 0xB1EE84D4 ssdt hook 0xBF801067 C:\WINDOWS\system32\DRIVERS\klif.sys
378 NtUserFindWindowEx 0xB1EE82C8 ssdt hook 0xBF8B128C C:\WINDOWS\system32\DRIVERS\klif.sys
383 NtUserGetAsyncKeyState 0xB1EE80D6 ssdt hook 0xBF8491D4 C:\WINDOWS\system32\DRIVERS\klif.sys
414 NtUserGetKeyboardState 0xB1EE83D6 ssdt hook 0xBF852661 C:\WINDOWS\system32\DRIVERS\klif.sys
416 NtUserGetKeyState 0xB1EE8122 ssdt hook 0xBF820DEC C:\WINDOWS\system32\DRIVERS\klif.sys
460 NtUserMessageCall 0xB1EE821A ssdt hook 0xBF80EDEB C:\WINDOWS\system32\DRIVERS\klif.sys
475 NtUserPostMessage 0xB1EE816E ssdt hook 0xBF808934 C:\WINDOWS\system32\DRIVERS\klif.sys
476 NtUserPostThreadMessage 0xB1EE81C2 ssdt hook 0xBF8B3C60 C:\WINDOWS\system32\DRIVERS\klif.sys
490 NtUserRegisterHotKey 0xB1EE8C90 ssdt hook 0xBF8ADC84 C:\WINDOWS\system32\DRIVERS\klif.sys
491 NtUserRegisterRawInputDevices 0xB1EE835E ssdt hook 0xBF915CEB C:\WINDOWS\system32\DRIVERS\klif.sys
502 NtUserSendInput 0xB1EE827A ssdt hook 0xBF8C3117 C:\WINDOWS\system32\DRIVERS\klif.sys
529 NtUserSetParent 0xB1EE8A88 ssdt hook 0xBF8795B5 C:\WINDOWS\system32\DRIVERS\klif.sys
549 NtUserSetWindowsHookEx 0xB1EE8026 ssdt hook 0xBF852721 C:\WINDOWS\system32\DRIVERS\klif.sys
552 NtUserSetWinEventHook 0xB1EE807E ssdt hook 0xBF8F0099 C:\WINDOWS\system32\DRIVERS\klif.sys
576 NtUserUnregisterHotKey 0xB1EE8DB0 ssdt hook 0xBF912A64 C:\WINDOWS\system32\DRIVERS\klif.sys
[/code]
其中還有一些防鍵盤記錄的,與截圖有關的是:NtGdiBitBlt,NtGdiMaskBlt,NtGdiPlgBlt,NtGdiStretchBlt。NtUserBuildHwndList,NtUserFindWindowEx用來隱藏視窗,使得三方程式查詢視窗時找不到被保護的視窗,也是與防截圖功能有關的。
原文地址: http://www.zhizihua.com/blog/post/501.html
相關文章
- 怎麼生成完整的網頁截圖? Full Page Screen Capture 幫你實現網頁APT
- MacOS專業截圖指南——截圖技巧和截圖工具分享Mac
- Android 普通View截圖 RecyclerView截圖 ScrollView截圖分享AndroidView
- FastStone Capture截圖工具註冊碼-親測有效!ASTAPT
- 電腦怎麼截圖win10_win10如何截圖截圖Win10
- Python網頁截圖/螢幕截圖/截長圖如何實現?Python網頁
- 截圖工具
- Android截圖和指定View生成截圖分享AndroidView
- 支付寶截圖反饋功能實現
- Movavi Screen Recorder 22 Mac(螢幕錄影截圖軟體)Mac
- windows10臺式電腦如何截圖截圖Windows
- MAC電腦使用技巧之Mac截圖快捷鍵截圖技巧與工具分享Mac
- 截圖工具fscaptureAPT
- Android 截圖Android
- Mac截圖功能Mac
- ios截圖功能iOS
- Snagit 截圖工具Git
- Windows下截圖Windows
- 截圖快捷鍵
- 截圖工具 snipasteAST
- 如何在Mac網頁中長截圖?蘋果電腦網頁截圖怎麼截長圖?Mac網頁蘋果
- 簡單好用的螢幕截圖工具:Screen Timelapse for MacMac
- 三星note7怎麼截圖/截圖教程
- 榮耀暢玩8A怎麼截圖截圖?榮耀暢玩8A手機截圖方法教程
- win10電腦截圖沒反應怎麼修復_win10電腦截圖沒反應如何處理Win10
- 實用、易用的截圖與貼圖工具:SnipasteAST
- iPhone截圖怎麼截長圖?2個方式超簡單!iPhone
- 多種榮耀10截圖方法分享 榮耀10怎麼截圖?
- cad截圖快捷鍵命令 cad圖紙截圖用什麼命令
- Excel操作-NPOI截圖Excel
- C語言 截圖C語言
- Android截圖方案Android
- Mac截圖快捷鍵Mac
- ios 程式內截圖iOS
- Android下截圖Android
- 兩款截圖工具
- iPhone 11怎麼截圖?詳解最新蘋果iPhone 11截圖方法iPhone蘋果
- js實現視訊截圖,視訊批量截圖,canvas實現JSCanvas