リバースエンジニアリングシステムの概要
記事のディレクトリ
1.クラス前テスト
1. X86レジスタのうち、EAXレジスタは主に()に使用されます。
AカウンタBアキュムレータC関数の戻り値Dプログラムポインタ
2. C言語では、printf関数はどの標準ライブラリに属しますか?()
時間.hB文字列.hCstdio.h D ctype.h
3.関数が呼び出されたとき、パラメーターを保存するために使用されるデータ構造は何ですか?()
リンクリストBスタックCヒープDキュー
4. 32ビットCPUのメモリアドレス指定スペースはどれくらいですか?()
A 1G B 2G C 4G D 8G
5.次のプログラミング言語の中で、開発で最も効率的なのはどれですか?()
機械語Bアセンブリ言語CC言語DC ++言語
6. ASCIIコードはエンコードに何ビットを使用しますか?()
A 7 0x00-0x7f B 8 C 16 D 24
7.次のダイナミックリンクライブラリのうち、グラフィックデバイスインターフェイスはどれですか?()
A kernel32.dll B User32.dll C GDI32.dll D advapi32.dll lib
8.メモリ内のデータには、ビッグエンディアンストレージとリトルエンディアンストレージの2つのストレージ方法があります。Windowsオペレーティングシステムはどちらのストレージ方法を使用しますか?()
ビッグエンドBリトルエンド
2.リバースエンジニアリングの基本システム
リバースエンジニアリングは、コンピュータ分野やネットワークセキュリティ分野では難しい学習コンテンツです。データの保存と表現、C言語、C ++、アセンブリ言語、オペレーティングシステム、Windowsオペレーティングシステム、Linuxオペレーティングシステム、ELFなどの事前知識が必要です。ファイル、PEファイル、アルゴリズム、コンピューター構成の原則、データ構造など。赤でマークされた部分がこのレッスンの主な内容です。
3.データの保存と表示
データの保存と表現には、16進数と変換、データの幅と表現範囲、テキスト文字などが含まれます。
第四に、C言語のコンパイルプロセス
1.ソースコードから実行可能ファイルへ
- コマンドラインでgcchello.cを実行して、a.outを生成します。
- ターゲットファイルの名前を指定する場合、コマンドは次のとおりです。gcchello.c -o hello
- コンパイルプロセス全体は、前処理、コンパイル、アセンブリ、リンクの4つのステップに分かれています。
2.事前コンパイル
- gcc -E hello.c -o hello.i
- 事前コンパイルプロセスは、主にソースコードの「#」で始まる事前コンパイルされた命令を処理します
3.コンパイル
- コンパイルされたコマンドは次のとおりです。gcc-Shello.c-o hello.s
4.コンパイル
- コマンドはgcc-c hello.s -ohello.oまたはgcc-c hello.c -ohello.oです。
- ターゲットファイルは、objdumpを介して表示できます。objdump-sdhello.o
5.リンク
- コマンドはgcchello.o -ohelloです。
- 実行可能ファイルの内容は、objdumpを介して表示できます。objdump-d-j .txt hello
- ターゲットファイルは、最終的な実行可能ファイルを取得するために、多くのファイルをリンクする必要があります。リンクプロセスには、アドレスとストレージの
割り当て、シンボルの解決と再配置などが含まれます。
5、アセンブリ言語
この図は、アセンブリ言語のレジスタと命令を分類しており、多くの実験が含まれています。
6、メモリ管理
メモリ管理には、主にメモリ、スタックと呼び出し規約、ヒープとメモリ管理の基本概念が含まれます。メモリレイアウトとスタックがコアです。
セブン、PEファイル
PEファイルはPortableFile Format(portable file)の略語であり、DLLに精通しており、exeファイルはPEファイルです。PEファイル形式を理解することは、オペレーティングシステムの理解を深めるのに役立ち、実行可能ファイルのデータ構造のマシン操作メカニズムを習得することは、リバースクラッキングやパッキングなどのセキュリティ面で学生にとって非常に重要です。
8.関連リソース
マインドマップの元の画像
1.リバースエンジニアリングの基礎
2.データの保存と表示
3.アセンブリ言語
4.メモリ管理
5.Windowsオペレーティングシステム
6.PEファイル
テキストリソース
1.C言語のコンパイルプロセス
2.テストの質問
ツール
1、OD
2、c32asm
3、RadASM
その他
1、radasm + odビュー実験データ
2、hello.c
Baiduネットワークディスクリンク:https
://pan.baidu.com/s/1Wxtf0avHZRN6BZ92cmUjpw抽出コード:m05m