データ解析

データ解析

Mach-OのFatバイナリ(Universal Binary) について

Universal Binaryというものがあります。これは1つのバイナリの中に2つ以上の実行体が格納されたものです。32bit版と64bit版のバイナリを1つのファイルで配布することも出来るようになるので便利なシロモノです。Windowsもこういったものを採用してほしかったと思います。 この形式の場合次のようなヘッダがファイル先頭に付きます。 struct...
データ解析

Mach-O セグメントとセクション補足

dysymtab_commandの中身を調べていたのですが、よくわからない感じだったので後回しにすることにしました。今回はセグメントやセクションの中身の方を調べていきたいとおもいます。 現在すでにわかっているセグメント&セクションの情報はこんな感じでした。 : LC_SEGMENT_64 __PAGEZERO vmaddr=0x000000000000000...
データ解析

Mach-O 実行体のロードコマンドの情報を表示してみる

前回は概要とセクション情報表示程度だったので、今回はもうすこしロードコマンドの表示をすすめて見ようと思います。 ロードコマンドの種別によって、そのコマンドのサイズと型が決まります。 あとはこれに応じてメンバの表示を行ってみたものが下記の結果です。 ロードコマンドの型の準備と表示が面倒なだけなので、プログラムコードは割愛します。 Mach-O 64bit CP...
データ解析

Mach-O形式の調査~導入編~

PEフォーマットは以前調査したので、今度はApple製品で採用されているMach-O(マークオー)形式の調査をしてみたいと思います。まずは最小サンプルの実行体を用意して既存ツールでちょっと確認してみます。 #include int main() { printf( "Hello,world\n" ); return 0; } #include int mai...
データ解析

PEフォーマットについて~インポート関数の列挙~

今回は依存するDLLの名前だけでなく関数の情報を取得する部分までやってみたいと思います。前回でインポートDLLの名前までは取得できたので、IMAGE_IMPORT_DESCRIPTORの情報まではたどり着けた前提で話を進めていきます。 IMAGE_IMPORT_DESCRIPTOR構造体は以下のようなものです。 typedef struct _IMAGE_I...
データ解析

PEフォーマットについて~DLLのExport/Importを列挙~

前回PEフォーマットについて概要を説明したので、今回はその情報にアクセスしてDLLのExport/Importしている情報を列挙してみようと思います。 まずは、IMAGE_DATA_DIRECTORY配列にアクセスしてIMAGE_EXPORT_DIRECTORYや IMAGE_IMPORT_DESCRIPTOR配列の位置を求める必要があります。 DLLがEx...
データ解析

PEフォーマットについて~構造概要~

Windowsの実行形式であるexeファイルは Portable Executable Format という形式で記録されています。このフォーマットについて調べてみたのでわかったことを書いておこうと思います。 まずPEフォーマットは MS-DOS用のヘッダとWindows用のヘッダから構成されます。Windowsアプリケーションではこの中のWindows用ヘ...
データ解析

MMDの再生、物理演算いれてみた

MMDのデータの再生を相変わらず今更ですががんばって実装していました。 今回は、IKと物理演算について実装を進めてました。前の実装を一度捨ててます…。 そのため、表情モーフも無効となってしまっている状態ですが、今回の物は以下の点を盛り込んでみました。 DirectXの算術(D3DX)を用いたり、Bullet が持っている算術を使用したり切り替えられること B...
データ解析

続MMD(PMD,VMD)をロードして描画してみた

前回からまだ不足していた物理演算部分を実装してみましたが、どうにもうまく再現できない状況が続いています。 今まではデータが左手系で格納されているために右手系に変換してロード&描画していましたが、物理演算においてはこのあたりの変換で失敗しているのかもしれません。一度右手系で無変換の方法でやってみたほうがいいのかな・・・。 世間からはかなり遅れて始めたMMDロー...
データ解析

MMD(PMD,VMD)をロードして描画してみた

ネット上の先人の情報からMMDのデータ(PMDとVMD)のデータをロードして、DirectX11を使って描画してみることに成功しました。 色々と厄介な点もありましたが、今のところなんとか動いているようです。 基本形状を出すまでは結構早くに実現できたのですが、モーションデータの再生にとても時間を食われました。 特に、足の部分のIK処理と表情についてのモーフィン...