第5回 資料を見つけた件
資料
キタ━━━━(゚∀゚)━━━━!!
キタ━━━━(゚∀゚)━━━━!!
キタ━━━━(゚∀゚)━━━━!!
むしろ
今まで何で気づかなかったっていうくらい。
COFF解析でネット検索してましたら
IMAGE_SYMBOL構造体が関係してるみたい
っていうことが分かりまして。
んで、それについてSDKのインクルードファイルを探してたら
winnt.hが引っかかったので
winnt.hを開いたんですよ。
//
// Symbol format.
//
typedef struct _IMAGE_SYMBOL {
union {
BYTE ShortName[8];
struct {
DWORD Short; // if 0, use LongName
DWORD Long; // offset into string table
} Name;
DWORD LongName[2]; // PBYTE [2]
} N;
DWORD Value;
SHORT SectionNumber;
WORD Type;
BYTE StorageClass;
BYTE NumberOfAuxSymbols;
} IMAGE_SYMBOL;
typedef IMAGE_SYMBOL UNALIGNED *PIMAGE_SYMBOL;
は い 終 了
(´・ω・`)
どうして今まで気づかなかった
そのほかにもwinnt.hを漁ればいろいろ出てきそうです。
というかMSDNに構造体の説明が書いてなかったんですが
winnt.hの中に簡単な説明がありました!
しかも定数一覧まであるので
何を入れればいいのか大まかなことまでぱっちし。
ゆうべ迷ってたとこまで発見♪
#define IMAGE_SYM_CLASS_EXTERNAL 0x0002
#define IMAGE_SYM_CLASS_STATIC 0x0003
#define IMAGE_SYM_DTYPE_NULL 0 // no derived type.
#define IMAGE_SYM_DTYPE_POINTER 1 // pointer.
#define IMAGE_SYM_DTYPE_FUNCTION 2 // function.
#define IMAGE_SYM_DTYPE_ARRAY 3 // array.
資料が見つかってしまったので
COFFオブジェクトファイルの解析も順調に進みそうですし
そろそろアセンブラ作ろうかってことになったのですが
IntelのSoftware Developper's Manualっていうやつ
に
が
載って
いましたので
こっちのほうもありがたく頂戴させていただく
ことに
相成りました。
さらに
今まで使い道のわからなかった
ebxの主な?使い方まで
書いてあったので
ありがたくいただきました(`・ω・´)
winnt.hが見つかった以上、
開発が順調に進みそうです。
とりあえずmov reg/32 r/m32だけでも機械語に変換するプログラム作ってます。
それができたらシンボルテーブルも作って‥‥
おら わくわく するだ