リバースエンジニアリング
Ghidraの環境構築/インストールから、Ghidraの使い方とリバースエンジニアリングの実践までの記録を残します。 はじめに 作業環境 Ghidraの使い方 環境構築 Ghidraをインストールする JDK(Java Development Kit)をインストールする Ghidraを起動する Ghidra…
鍵生成プログラムKeygenをPythonで作成します。 まずはradare2を用いてパスワード認証アルゴリズムを解析し、それを開くことができるKeygenを作成しました。 はじめに 作業環境 Pythonで鍵生成 radare2でアルゴリズムを解析する forループの特定 forループの…
ASCII値の合計を比較する簡単な暗号アルゴリズムを用いて、自らリバースエンジニアリングするためのパスワード認証プログラムを作成します。 はじめに 作業環境 パスワード認証の暗号化 簡単な暗号アルゴリズム 正規パスワードの合計ASCII値を算出する パス…
radare2のインストール方法から簡単な使い方までを記録しました。 直感では使いにくい面も感じましたが、使い慣れれば強力な武器となってくれるでしょう。 はじめに 作業環境 radare2の使い方 radare2をインストールする radare2を起動する radare2の使い方…
stringsコマンドやobjdumpコマンドを用いて、プログラム中の正規パスワードを読み出す方法の記録を残します。 はじめに 作業環境 ハードコードされたパスワードを読み出す コード中の文字列からパスワードを読む | strings .rodataセクションからパスワード…
gdbを用いてプログラムの各ステップを解析・操作することで、アクセス承認を目指します。 はじめに 作業環境 レジスタ操作でアクセス承認を引き出す プログラムの実行 | 第1分岐 - ハズレルート プログラムの実行 | 第1分岐 - 当たりルート プログラムの実行…
gdbを用いてバイナリコードを逆アセンブル (ディスアセンブル)し、Cで書かれたプログラムの全体像を解析します。 はじめに 作業環境 逆アセンブル解析 gdbとは アセンブラコードを表示する | (gdb) disassemble アセンブラコードの流れを解析する おわりに …
パスワード認証プログラムを作成し、それを自らリバースエンジニアリングしてアクセス承認を引き出したいシリーズのpart1です。 今回は下準備として、今後解析していくための簡単なパスワード認証プログラムを作成しました。 はじめに 作業環境 パスワード認…