フックの基本的な知識を学びます

1.コンパイル

2.API

3.メモリ

4.プロセス

5.ウィンドウ

あなたは、アセンブリ命令に精通している必要があります。

PUSHの   スタック

MOVの    割り当て

JMP(JNZ JE)   ジャンプ

CALLは、   関数を呼び出します

RETの   復帰

CMP   比較

テストの   比較

何を登録し、使用することを知っている必要があります

EAXレジスタの蓄積(一般的には、計算結果、呼び出しの結果)

EBXレジスタベースアドレス(ベースアドレスが格納されています)

ECXレジスタ数(カウントサイクル)

EDXデータレジスタ(データ)

ローカル変数またはパラメータEBP

ESPスタック

EDIインデックスレジスタオブジェクト(オブジェクト交換)

ESIソース・インデックス・レジスタ(ソース交換)

EIP現在の関数の動作位置

私たちは地域によってコンパイルされた形式の機能を理解することができるようにプログラムが、逆コンパイルすることはできません。

割り当ては、関数または変数アセンブラコードであってもよいです。

 

API:APIコールと読み取りAPI

Windowsシステム上のプログラムは、API関数を呼び出します、我々は唯一の主要なAPI関数を見つけるフックが予想外の効果に達することができ行なわ

メモリ:プログラムがメモリに格納されている学習

すべてのデータがメモリ内にある、このアドレス我々コールメモリアドレスのメモリアドレスが存在します

プロセス:フックが動作中です

各プロセスは、より多くのDLLの、DLLを注入し、ちょうどexeファイルフックを多く含む、株式を除き、独立して

ウィンドウ:メッセージメカニズム

Windowsシステムは、メッセージに基づいています

 

 

 

 

おすすめ

転載: www.cnblogs.com/FeverYee/p/12015934.html