2009-09-19 13 views
7

WinAPIにはハッキング機能が組み込まれています。私ものPInvokeとC#でそれらを使用...マインスイーパをハックするC++とプロセスメモリ保護

...それは簡単だった...だから...

私は、プロセスのメモリ編集から自分のアプリケーションを保護することができるか、DLL注入を拒否し、他のハッキング方法。どうやって?!

希望WinAPIのがvoid DontTouchMeOrIWillTerminateYou(bool protect)のようなものを持っている... Windowsで

+2

この質問の文言はより良いかもしれませんが、質問自体は質問する価値があります。 +1 –

+0

関連:http://stackoverflow.com/questions/869320/how-would-i-go-about-prevent-dll-injection/869466 –

+0

文言は良いです!それと良い質問のために+1! – Narek

答えて

9

アクセス制御は、オブジェクトごとにあります。プロセスオブジェクトを保護する場合は、プロセスが作成されたとき(CreateProcessのlpProcessAttributes経由)またはその後(SetKernelObjectSecurityを介して)、プロセスオブジェクトのACLを設定する必要があります。 「すべて拒否」エントリをACLに追加すると、攻撃者によるプロセスのオープンは失敗します。

もちろん、プロセスの所有者(したがってユーザーが実行する悪意のあるコード)は、ACLを元の状態に戻すことができます。悪意のあるコードはそうすることはできません。ユーザー空間からの攻撃を効果的に防止するには、非対話型ユーザーとしてプロセスを実行する必要があります(LocalSystemなど)。

カーネルスペースからの攻撃を防ぐことはできませんので、ドライバをインストールできる人は誰でもシステム上の任意のプロセスをハックすることができます。

+0

1.ランチャーアプリケーションを検出する方法? 2. Attackを検出して攻撃者を無効にすることはできますか?(即時のPCクラッシュなど) – user175908

4

ハッキング?いいえ、デバッグと呼ばれています(ほとんどの場合)

あなたの質問への短い答えは「いいえ、できません」です。 Vistaやそれ以降は、デバッグできないOSプロセス(DRMプロセスなど)があると聞いていますが、プロセスをそのように実行できるかどうかはわかりません。

あなたがいることをやりたい理由本当の問題であり、あなたは(あなたのソフトウェアの正しさはもちろんのこと、たとえば、パフォーマンスとユーザビリティ)を心配するより重要なものを持っていないのですか?

+0

パフォーマンスとセキュリティが必要です。 – user175908

1

メモリの編集については、それを検出する簡単な方法は、チェックサムをデータの一部に保存することです。

+0

値は常に変化しています... – user175908

0

エンドユーザーによって制御されるマシンにプロセスを展開/実行しないでください。代わりに、自分のマシンでプロセスを実行し、エンドユーザーがインターネット経由でプロセスと通信できるようにします。

+0

あなたはLAGと呼ばれることがありますか? – user175908

関連する問題