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を使った処理が見つかりました。

2011/07/22

VMware上での動作を検知

デバッグをしてるとたまに見かける"Privileged instruction"が気になったので調べてみたところ、VMware上での動作を検出するものでした。
VMwareのサイトの
Mechanisms to determine if software is running in a VMware virtual machine
にあり、他の検出方法についてもまとめてあったので参考にしました。

2011/07/05

EnigmaGroupのSoftware Cracking 11

前回はcrackingのレベル9を紹介しましたが、少しの間別のことをしていたら順位がどんどん落ちていることに気がついたのでまた少し進めました。
今回はレベル10と11をやったんですがレベル11がレベルの数にしてはものすごく簡単で、クリアしたときにゲットしたポイントもレベル10が500に対して250と、かなり少なめでした。

2011/06/29

pydbgでNHK語学番組をダウンロード

NHK語学講座のweb配信されてるラジオがあっていつもお世話になってるんですが、
ダウンロードする人が増えてNHK怒ったのかどうか知りませんが、2011年度から仕様が変更になって、今までの方法だとダウンロード出来なくなりました。

もうみんなとっくに対応してるんで今更なんですけど、ふと思いついたので、自分流に改造して自動でダウンロード出来るようにしたNHK Stream Downloaderのpydbgバージョンを公開したいと思います。

2011/06/22

EnigmaGroupのSoftware Cracking 9

最近EnigmaGroupのcrackmeとかやってます。
このサイトはHack This Site!とかHellBound Hackersみたいな感じに、
ミッションをクリアするたびにポイントがたまってランク付けされます。

最初は確かBasic SkillsのPrerequisitesってところの3つをクリアしてからじゃないと
他のミッションにチャレンジできない仕様だったと思います。
これは注意書き読めば誰でもできるような簡単なやつでした。

私はほとんどSoftware Crackingってカテゴリのしかやってないんですけど
1~14までレベルがあって、今回紹介するのはレベル9の話です

2011/06/20

Apacheでwwwなしドメインをwwwありにリダイレクト

前から気になってたドメインの先頭のwwwの設定をやっとしたんで書いておきます。
今回はapacheの設定で
wwwなしのURL、example.comを全部
wwwありのURL、www.example.comにリダイレクトさせてみます。

Djangoのテンプレートでgetattr

Djangoで、日本語の文字からデータベースを参照して、違う日本語の文字に変換するアプリケーションをつくってたんですけど、
50音のローマ字のモデルの要素名を使ったんで、テンプレートからそれぞれのローマ字に結び付けられてる値を取得する方針で考えてました。
そうなるとgettattr()みたいに文字から要素を参照出来れば便利なんですけど、
標準では組み込まれてないようなんで、誰か作ってないのかと探してみました。

Performing a getattr() style lookup in a django template - Stack Overflow

2011/06/03

CLD命令とDF

コード読んでたらCLD命令というのを見たんで調べてみました。

CLD(Clear Direction Flag)
->DFを0、つまりクリアする。

で、このDFはストリング命令の制御に関わっていまして、DFがクリアされるとストリング命令は小さいアドレスから大きい方へ向かって実行し、DFがセットされるとその逆に向かって実行します。
ちなみに、DFのセットにはSLD命令を使います。


2011/05/30

Immunity Debugger v1.8xでOllyDump

Immunity DebuggerOllyDumpを入れられると聞いてやってみたんですが、何故かLoadLibraryのエラーが発生してpluginメニューには追加されませんでした。

調べたところ、バージョン1.8xからプラグインの仕様が変わったようです。