日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Anti-Screen Capture(Prevent Screen Captures)截屏与反截屏

發布時間:2023/11/30 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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用來隱藏窗口,使得三方程序查找窗口時找不到被保護的窗口,也是與防截屏功能有關的。

總結

以上是生活随笔為你收集整理的Anti-Screen Capture(Prevent Screen Captures)截屏与反截屏的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。