書かなくても覚えていたが,最近はすぐに忘れて困るのでメモすることにした。
x64dbgの使い方
system breakpoint のチェックを外す
ASLRの無効化
CFF explorer > Optional Header > Click here で DLL can move
のチェックを外し保存
エクセプションでブレークしないようにする
Options > Preferences > Exceptions
00000000 - FFFFFFFF を選択し, Do not break
を選択
アドレスへの移動
ctrl + g
EIPに戻る
*
(アスタリスク)
直前のinstructionに戻る
-
(ハイフン)
OllyDbgの 検索 バイナリ文字列 B
と同等の検索
OllyDbgのようにはじめからダンプ画面にdataセクションが表示されていない。
よって,ダンプ1~5タブにdataセクションを表示させた上で,パターンを検索する。
アセンブリ命令の書き換え
書き換えたいところで space キー
APIへのブレークポイントの設定
Command:に bp WriteProcessMemory
Callスタックを使ったAPIのぬけ方
Call Stack
タブ
一番上をクリック
右クリックして Follow To
を選択
リターンアドレスに移動するので,F2でBPを設定
WriteProcessMemoryで書いた悪性コードの抜き方
bp WriteProcessMemory
Callスタックを使って,APIをぬける
レジスタウィンドウの下の Default
ウインドウの第1引数( esp+4 )を右クリックして Follow in Dump
Dump
ウィンドウで右クリックして Follow in Memory Map
該当行で右クリックし,Dump Memory to File
スタックの値が再び参照されたときにブレークさせる
スタックで右クリック
ハードウェアブレークポイントを設定する
Hardware Access Dword (x32dbgの場合)
※この機能は、Ollydbgにはない。
マシン語の検索
例えば
push 0
push 0
push 11
push esi
を検索する場合
CPUで右クリック > Search for > Current Module > putten (Ctrl+Shift+B)
hexに 6A006A006A1156を入力
Ghidra の使い方
Analysis Options
WindowsPE x86 にチェックを
指定アドレスにジャンプ
G
キー