Reversing問題チェックリスト
1週目
Pythonプログラムを実行する
Pythonプログラムを書き換える
2週目
ツールの使用
動的解析の際にデバッガが必要になります。
変数名を変更して、難読化されたコードの見通しを良くできます。
プログラムで使用される文字列がすべて難読化されています。
関数名が分かりにくいものになっています。
3週目
暗号化されたフラグの復号処理を書いたり、プログラムを書き換えて勝手に呼び出したりするのが基本
バイナリにフラグ情報を直接埋め込むとstringsなどで簡単に解けてしまうから 暗号化処理を解析して逆算することを要求される場合もあります。
4週目
アセンブリを実際に読むと、問題文中のコマンドの意味がわかります。
5週目
アセンブリは限られたレジスタのみで処理が進むため、そのままだと追うのが難しいです。
動作について何か分かったら、似た動作をするC言語のソースを書いて表現すると良いです。
復号処理が含まれています。
C言語で擬似コードを書いて、復号処理を実装する練習ができます。
難しい問題です。
まず、JavaScriptの難読化を復元する必要があります。
たくさん解く
解くことで新しい知識を学ぶ
日本で開催されている