リバースエンジニアリングシステムの概要

リバースエンジニアリングシステムの概要

1.クラス前テスト

1. X8​​6レジスタのうち、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

おすすめ

転載: blog.csdn.net/weixin_43363675/article/details/115261222