2021-07-10 · 1

リバーシング入門

securityreversing

この記事は公開から2年以上経過しています。

CTF でのリバーシング

  1. プログラム構造の分析
  2. 分析を基にしたコードの再実装
  3. 逆演算によるフラグの獲得

-> フラグ獲得のためには、プログラムの構造を分析し理解する過程が必須です。

結局、リバースエンジニアリングは多く分析するほど実力が伸びます。

他の分野と違い、技法を学ぶというより新しい類型に触れるという方式で勉強します。

ハッキングの基盤知識

Linux - ハッキングをするには linux を扱えなければなりません。

Programming - 少なくとも 1 つの言語は学ぶことが大きな助けになるでしょう。

特に C 言語はシステムハッキングをするには必ず知っておく必要があります。

ソースコードのコンパイル

#include <stdio.h>

int main()
{
	printf("Hello World!!");
    return 0;
}

上のような "Hello World" コードを書いてコンパイルすると、下のように処理されます。

Helloworld.c => Helloworld.i => Helloworld.s => helloworld.o => Helloworld

ソースコード 前処理後のソース アセンブリソース オブジェクトファイル 実行ファイル

!> ****](https://nabomhalang.tistory.com/entry/해킹-레지스터)

上のように Ubuntu で "gcc -v --save-temps -o '実行ファイル名' 'ソースファイル名'" を入力すると、コンパイルされるすべてのファイルが上の写真のようにすべて保存されます。 そして上のようにアセンブリソースファイルである "helloworld.s" ファイルを開いてみると、アセンブリで書かれているのが確認できます。### ディスアセンブル ![](/content- — nabomhalang.tistory.com


原文(韓国語): tistory — 2021-07-10 公開、当ブログへ移行。この翻訳は AI の協力で作成されました。

コメント

コメントを削除しますか?

関連記事

リバーシング入門 · 나봄하랑