PDB ファイルから C++ のクラスヘッダを作成するソフト
Microsoft の PDB ファイル (Programming Database) からC/C++のヘッダファイルを出力するソフトを更新しました。
PDB に含まれる情報から C++のクラス情報と列挙型を作り出します。C++のクラス定義は IDA に似ていますがクラス内の関数定義を実定義から取得しているので引数名が追加されて可読性が上がっています。
- version 1.0.0.1
出力ファイルが尻切れになる不具合を修正。union に対応しました。class _DDSURFACEDESC2 { /*+0x000*/unsigned long dwSize; /*+0x004*/unsigned long dwFlags; /*+0x008*/unsigned long dwHeight; /*+0x00c*/unsigned long dwWidth; union { /*+0x010*/ long lPitch; /*+0x010*/ unsigned long dwLinearSize; }; union { /*+0x014*/ unsigned long dwBackBufferCount; /*+0x014*/ unsigned long dwDepth; }; union { /*+0x018*/ unsigned long dwMipMapCount; /*+0x018*/ unsigned long dwRefreshRate; /*+0x018*/ unsigned long dwSrcVBHandle; }; /*+0x01c*/unsigned long dwAlphaBitDepth; /*+0x020*/unsigned long dwReserved; /*+0x024*/void* lpSurface; union { /*+0x028*/ _DDCOLORKEY ddckCKDestOverlay; /*+0x028*/ unsigned long dwEmptyFaceColor; }; /*+0x030*/_DDCOLORKEY ddckCKDestBlt; /*+0x038*/_DDCOLORKEY ddckCKSrcOverlay; /*+0x040*/_DDCOLORKEY ddckCKSrcBlt;
SimpleROHook で活用するならば Injection.dllの PDB を読み込ませて、クラス内変数のオフセットを確認したり、 HirhPriest.pdb のクラス内のオフセットを確認したりするのに活用できます。
コマンドラインから使用するソフトです。以下に実行例を示します。
C:\>pdb2cheader usage : pdb2cheader.exe pdbfile outputfile C:\Gravity\HighPriest>pdb2cheader highpriest.pdb highpriest.h *************************
インストーラーは付属していません。 Debug Interface Access SDK を使用しているため実行には Visual Studio のインストールが必要です。
ちゃんとしたものを自分で作りたいという方はMicrosoftのサイトのドキュメントを読んで頑張ってみましょう。
Debug Interface Access SDK
https://msdn.microsoft.com/ja-jp/library/x93ctkx8.aspx
ディスカッション
コメント一覧
まだ、コメントがありません