機械語初心者がアセンブラを作ってみる

機械語初心者がアセンブラを作ってみるだけのブログです。ひつまぶしひつまぶし

第15回 da,exe Ver.0.0.236.0

女に約束をすっぽかされた記念(´・ω・`) いやほんとは ニモニックですとかレジスタですとか そういう識別ができる関数作ってきたんですけど 上の画面ではまだ使ってないので 実質第14回と同じという。 あっファイル名とEOFが分かるようになりましたよー^…

第14回 da.exe Ver.0.0.191.0

Visual Studio 2012に移行してみた。 これまではコンパイルもコマンドライン作業だったので 方向キーでコマンドを選ぶの大変だったんですけど VSのおかけで F5でコンパイルと実行が同時に出来るようになって‥‥ううっ VS移行のためだけにビルド番号30ほど消…

第13回 da.exe Ver.0.0.117.0

いえ、 実は アセンブラ作り以外にも やることがありまして 思った以上に進まないorz いっそのこと これを卒業研究にして 開発時間稼ぎたいとも思ったんだけど 卒業研究は就職したい企業の業務内容に合わせたほうがいいって 友達に言われたので‥‥。 一応(こ…

第12回 誰得

誰得だと突っ込まれそうですが ビルドするたびにバージョン番号を自動で足していくツールを作ってみました。 ‥‥‥‥ いや、あの、debug$Sに大きな数字を書きたくなったので。 というか5万とか大きな数字に憧れたので。 雰囲気です、雰囲気(汗 間違ったプログ…

第11回 COFFEEオブジェクトファイルの解析(5)

今日はもう時間がないので 手短に概要だけ。 結論から言うと @comp.id=コンパイラの固有ID? @feat.00=知らんがな ということでおしまいになりました。 バージョン4のMASMで作ったオブジェクトファイルには @feat.00はなかったし 同じコンパイラで作ったオ…

第10回 COFFオブジェクトファイルの解析(4)

dumpbinですら解析されないdebug$sセクション。 アセンブルのデータが入ってるという線でいってみました。 ml64.exeでアセンブルしたオブジェクトファイルを解析してて まったく何もわからないわけなんですが cl.exe(Cコンパイラ)でコンパイルしたアセンブ…

第9回 COFFオブジェクトファイルの解析(3)

アセンブラの概形もできたので アセンブラ開発と機械語解析を並行して行いまーす。 こちらの解析を行いましたー。 えーと、こちらには2つの構造体がありましてー typedef struct _IMAGE_SYMBOL { union { BYTE ShortName[8]; struct { DWORD Short; // if 0…

第8回 やっとここまでこきつけた

やっとキタ━━━━(゚∀゚)━━━━!! アセンブリのニモニックを機械語に変換し オブジェクトファイルに書き込むための 基幹部分が完成しました! といっても 今は mov reg32, reg32 の部分だけ。 識別できるオペランドはレジスタだけ。即値すら未実装です。 しかも定義…

第7回 おやすみ

今日は 580円の弁当買って1100円払ったのに 420円しか返って来なかったので 開発しません。(キリッ 素直に言うと、課題とか課題とか課題とか (´・ω・`) 今朝、偶然見つけた資料置いてく http://www.interq.or.jp/chubu/r6/reasm/PE_FORMAT/intro…

第6回 そろそろ飽きてきた

のですが アセンブラの開発を進めました。 隊長!mallocがありますぞ!ありますぞ! mov r32 / rm32 というニモニック1つアセンブルするだけでも たくさん構造体を定義して、 たくさんの処理を書かなければいけないので もうほんと時間かかります(´・ω・`)…

第5回 資料を見つけた件

資料 キタ━━━━(゚∀゚)━━━━!! キタ━━━━(゚∀゚)━━━━!! キタ━━━━(゚∀゚)━━━━!! むしろ 今まで何で気づかなかったっていうくらい。 COFF解析でネット検索してましたら IMAGE_SYMBOL構造体が関係してるみたい っていうことが分かりまして。 んで、それについてSDKのインクルー…

第4回 COFFオブジェクトファイルの解析(2)

はーい 今日も痛い文が飛び出てきますよー さっきの記事の最後に 「0Bは文字列リテラルのかたまりの中のアドレスじゃね」って 書いたわけですが オブジェクトファイルに上のような変更を加えて リンクしてみたんだ。 そしたら (`・ω・´) (※変更前の動作は…

第3回 COFFオブジェクトファイルの解析(1)

タイトルでは第○回とか(1)とかつけてますが 本サイトは講座とかではなくただの日記なのであしからず (前回までのあらすじ) アセンブラはEXEではなくOBJを出力することを思い出し 急遽OBJの解析にかかる僕だったが‥‥ 000000000000000B: 48 8D 15 00 00 0…

第2回 メモリのアドレスとか

http://codezine.jp/article/corner/61 CodeZine連載「Windows実行ファイル「EXE」の謎に迫る」 こちらは 勉強の時に 非常に異常に役に立った資料です。 この資料が理解出来ればしめたものです。 僕の場合、9割は理解出来ました。残りの1割は‥‥うーん(汗 …

第1回 ml64.exeとdumpbin.exeを使ってみた

まず、今回は 機械語解析の手始めに ml64.exeでアセンブルした実行ファイルを作ってみます! なぜ勉強用の実行ファイルをC言語コンパイラで作らないかというと アセンブラで作ったほうがシンプルな機械語になると思って。。 というかコンパイラなんかで作っ…

作ってみた

このブログは 機械語初心者がアセンブラを作ってみるまで を かな~り大雑把に綴るブログです。 に、なるかもしれません。 多分。 僕の知識といえば、 アセンブラはニモニックやオペランドを直接機械語に置き換えるんだなー っていう程度かな。 実を言うと、…