07/08/31 01:34:53 efybN7qa0
3,流れを確認する。
→00424CECでのジャンプでディスクチェック自体を飛び越えるようにした。
しかし、ここがまだ呼び出し内の中(下にRETNが在るため)なので、
00424CC0で、Call元に戻る。戻るとすぐ下にはTESTの比較があるが、
ここも条件ジャンプが無いので無視。一つ上のPUSHに来るCall元に戻る。
Call元は2カ所だが、よく見ると、前はエラーメッセージ前、後は
エラーメッセージ後のCallなのが分かる。前者の直後の条件ジャンプしだいで
エラーメッセージの表示するループに入るので、ここを強制ジャンプ
0042D3BE:JNZ SHORT 0042D3E2→JMP SHORT 0042D3E2
に書き換えて 終了。
とディスクレス化の略説明です。
最終試験くじらのディスクチェックは、自家製のディスクチェックの中で
割とディスクレスしにくい方かなぁと。
先ほどのGetDriveTypeAの近くには条件ジャンプが見あたらず、
また参照文字列からエラーメッセージの方を辿ると 外すのに手間取る仕組みになってたり。
説明がちょっとややこしいですが、質問等在れば聞いてくださいな。
まぁ、答えられる範囲内ですけどね。
コードの書き換え表記は折井(Olly)の一行アセンブリ書き換えです。
バイナリ書き換えではありません。
尻認証回避については また時間があるときに。
(シリアルの割り出し方法探してみるかな…)