2013-04-10 10 views
6

ユーザーには完全にはっきりしていても、スクリーンショットでは見えないウィンドウを作成するにはどうしたらいいですか?これは、Neo SafeKeys(キーロガーを無効にするオンスクリーンキーボード)が、インストールしたキーロギングソフトウェアによって撮影されたスクリーンショットには表示されないので、これが可能であることはわかっています。C# - キーロガーを無効にする透明なウィンドウ

あなたにアイデアを伝えるために、ウィンドウはユーザーに完全に表示されますが、スクリーンショットを撮ると、Neo SafeKeysウィンドウはまったく表示されません。

Neo SafeKeysは、スクリーンショットから保護するために、ウィンドウの上に目に見えない保護レイヤーを使用すると述べています。私はどのように私はこれを再現することができます、無駄に参照してくださいインターネット上のすべてを検索しました。誰でもこれがどのように実行できるかを知っていますか(スクリーンショットでは見えませんが、ユーザは見ることができます)。

+0

が、多分あなたはスクリーンショットのイベントをキャッチし、右のそれの前のウィンドウを消える必要がありますか? –

+0

これはC#を使って行うことができますか?それとも、Cのような低レベルのプログラミングが必要ですか? – Matthew

+0

C#は間接的にトラップinteropを使用できます。 –

答えて

4

あなたができることは、押したときにPrtScnキーが何もしないようにすることです。 this articleを見ながら、これを行う方法を説明します。

この記事はクリップボードを消去しています。その代わりに、画面イメージをキャプチャしてアプリケーションをデジタルで削除し、修正したイメージをクリップボードに配置して、ウィンドウを透明にする「効果」を与えます。

また、this SO questionを見ると、あなたのウィンドウを「青色」に見えるようにする別の方法がありますが、それは簡単ではありません。

+0

ご回答いただきありがとうございます。しかし、キーロガーが通常のプリントスクリーンの代わりに他のスクリーンキャプチャソフトウェアを使用するとどうなりますか? – Matthew

+3

@Matthew - これを100%防ぐ方法はない。あなたが解決策を見つけたとしても、誰かが常にデジタルカメラでモニターの写真を撮ることができます – Icemanind

+0

あなたの答えをありがとう。私はデジタルカメラの問題を十分に認識しています。しかし、私は自分のコンピュータでスクリーンショットを撮っているキーロガーに専念しています。 – Matthew

1

C#アプリケーションでは、キーボードイベントを監視するためのグローバルフックを設定できます。その後、アプリケーションは印刷画面のグローバルハンドラになります。今では別のアプリケーション管理画面がネイティブで印刷されても、それを止めることはできませんが、Windowsを介して実行されているものなら、いつでもアクセスできます。

WM_KEYBOARD_LLフックは、すべてのターゲットにDLLを注入する必要がないため、マネージコードで使用できるいくつかのグローバルフックの1つです。いくつかのコードの場合

あなたがここに訪問することができます:

Adam's Blog

することで、他に何も(他のアプリケーション)が行なわれていないことを確認したいので、これらはグローバルフックであることに注意してください。私たちが取り組んでいるアプリケーションでパワーポイントを見せてくれたので、私は過去にこれを使ってきました。基本的には、ユーザがパワーポイントメニューやキーボードショートカットを呼び出さないようにするため、グローバルフックを使用しました。我々は常にそうでない場合、我々は、他のアプリケーションの機能に影響でしょう、ユーザーが特定の領域(画面)で、私たちのアプリケーションにあったかどうかをチェックし

Microsoftインフォメーションは、(私たち自身を含むを!):

Hooks Overview

+0

あなたの応答をありがとう – Matthew

4

これはどのように実行できますか(誰でも見ることができますが、スクリーンショットでは見えないウィンドウ)を知っていますか?

デバイスに直接レンダリングするためにDirectXを使用します。

+0

あなたは便利になるかもしれない有用なガイドを知っていますか? – Matthew

+0

どのようなアプリをビルドしようとしていますか?画面上のキーボードを描画するのはDirectXでは比較的簡単ですが、WinFormsコントロール(ボックス、ドロップダウンリストなど)を含む通常のWindowsアプリケーションのように見えるものを作成しようとすると、欲しいものを得るために複雑になることがあります。 – LouD

+0

ウェブサイトに表示される画面上のキーボードを作成したいと思います。明らかに、一連のボタンで構成されていなければなりません。私はドロップダウンボックスなどを追加するとは思わない。しかし、最も重要なことはスクリーンショットには透過的だということです。 – Matthew

1

これは..... visual cryptography

ライブ例here

しかし、これは簡単に複数のスクリーンショットを取り、overeachotherと、そのようなそれらを置くことによってに対してコーディングすることができ...

+0

あなたの答えをありがとう。 – Matthew

0

Windowsを使用している、とあなたはそのscreenloggingが起こる避けることができる場合仮想デスクトップのようなすばらしいソリューションを実装して、プロセスをプロセスに組み込むことができます。プロセスが仮想デスクトップ内で実行されている場合、win32 APIを介して実行されるスクリーンログツールをバイパスすることが可能です。

スクリーンとキーボードの監視からscapeにすばらしいソリューションを実装する方法を覗いてみましょう。ただの推測I'ts

http://www.codeproject.com/Articles/7392/Lock-Windows-Desktop?fid=62485&select=3139662&fr=101#xx0xx

+0

この回答には、おそらくリンクの要約があります。 – michaelb958

+0

はい、そうです、このサンプルはVirtual Desktopsのコンセプトに基づいています。この単純なテクニックでは、WIN32 APIを介して動作するキーロガーまたはスクリーンローガーがブロックされ、期待どおりに動作しない独立した環境を提供するという魔法があります。プロセスが仮想デスクトップに移行すると、典型的なマルウェアに対する何らかのセキュリティを実現できますが、そのようなマルウェアがカーネルの内部で動作しているとどうなりますか?例えば、Elite Keylogger? OKソリューションは動作しません。キーロガーがクリーンなメッセージをキャッチする前に、キーストロークメッセージを暗号化するためのドライバなどを作成する必要があります。 – user2419507

関連する問題