2016-02-02 66 views
1

我正在爲朋友製作一個Winforms程序,他希望實現的功能之一是隱藏文本框的內容以免被錄製;這意味着他希望從屏幕截圖和屏幕錄製中安全無虞。有什麼方法可以檢測屏幕截圖或錄製?

在這一點上我試圖解釋這是徒勞的,並解釋說

  1. 還有的可以用於記錄/捕獲屏幕程序負載,並試圖以觀察所有這些不僅將因爲任何值得他的鹽的程序員都可以將一個個人程序放在一起,這個程序可以在不使用任何已知名稱的情況下截取屏幕截圖即使如果您以某種方式設法阻止每個程序,人可以拍一張屏幕的圖片

爲了回答拍攝屏幕的問題,他說雖然我們不能使程序完美,但我們可以儘可能讓別人「破解」它。 (個人認爲他是對的,但我認爲我們不應該爲了這樣一個簡單的解決方案而過度工作)

但是,他對存在大量不同錄製節目的問題的回答是排序有趣的,但我不知道給他充滿信心的答案。他推論說,在所有的程序中都有一些共同的行爲,因爲在某種程度上,它們都會抓取顯示在屏幕上的數據的一個副本來使用,並且我們應該能夠在理論上檢測到該行動並據此作出反應。

所以我的問題是這樣的:有誰知道是否有一個記錄屏幕的程序的共同行動,如果有一個共同的行動,它是什麼?

回答

1

所有的屏幕捕捉程序的工作原理與圖形引擎進行交互以在時間點捕獲屏幕圖像,但tgat儘可能遠,屏幕捕捉時沒有事件觸發已完成,因此無法檢測何時發生捕獲。

編輯:屏幕捕獲程序訪問屏幕的方式是調用GetDC(NULL)。然後使用BitBit函數將內容複製到位圖中。調用GetDC()時沒有觸發事件,可能有內置於Windows中的方法,該方法尚未由Microsoft記錄,並隱藏在Windows API的深處,但此時沒有任何記錄。

欲瞭解更多有關這看看Windows Confidential: What You See Is What You get

+0

和太多的程序與一些訪問它能夠在圖形引擎交互被標記?或者與圖形引擎交互不觸發任何事件? – Daniel

+0

交互不會觸發任何已知的事件。 –

+0

但是,如果我有一個特定的人正在尋找,我是否能夠檢測到它,如果我知道要聽什麼? (例如像快速聊天如何檢測屏幕截圖?) – Daniel

相關問題