2012/11/14

ImmunityDebuggerのバージョンアップとfindinstruction.py


ImmunityDebuggerのバージョンアップでいつの間にかPyCommandの仕様に変更があったようで、リバースエンジニアリングに載っているfindinstruction.pyが動かなくなっていたので修正しました。元のコードはコメントアウトしてあります。

2011/10/20

バイナリダンプから浮動小数点数を概算

今回は浮動小数点数のfloat型とdouble型のバイナリエディタからの見え方、つまりは16進法表示についてです。 16進数の並びから、暗算でどこまで求められるんだろかーと何となく思ったので考えてみました。

このサイトwikipedia浮動小数点数を参考にしています。

2011/10/11

emacsで置換するときに改行を指定

emacsのreplace-stringを使って、HTMLを整形とかする場合
 C-q C-jで改行コードLFを入力できる。

例えばのあとに改行を入れたいときは
M-x replace-string (RET) (RET) C-q C-j (RET)
と打てばいい。


参考: 
emacsでの置換の際に改行を使うには

2011/08/01

EnigmaGroupのSoftwareCrackingレベル14

レベル13はPEファイルじゃなくてMS-DOSの実行ファイルらしく、ImmunityDebuggerは読めないっぽいのでIDA Proで解析してますがIDA Proは便利そうに見えるんですけどまだあんまり使ったことがないのでとりあえずレベル14を挑戦しました。
この実行ファイルはバッチファイルを介してパスワードの入力を求めていました。

2011/07/31

EnigmaGroupのSoftwareCrackingレベル12

EnigmaGroupのcrackingも今回でレベル12まで来ました。いまのところ14までしか公開されてないのであと2つ、どんどん終わらせたいと思います。
条件付きジャンプを書き換えるだけで認証成功してパスワードが「14097924cfa505382b0b94c91b9e5c99」と出るんですが、これを判定フォームに入力しても正しくないと言われます。
そこで、「14097924cfa505382b0b94c91b9e5c99」ってのが見るからにハッシュ値っぽいので、ハッシュ化する前のデータがパスワードかなーとか考えながらコードを見てると、CryptAPIを使った処理が見つかりました。