1

私は小さなwin32「Hello、world!」を作ろうとしています。純粋なアセンブリでのアプリケーション。を見つける方法を調べたkernel32.dll後、しばらくして、これを見つけました:http ://skypher.com/wiki/index.php/Hacking/Shellcode/kernel32 。kernel32.dllこの手法は、メモリ内の場所へのポインタを返します。

同様のテクニックが紹介された別のウェブサイトで、彼らは次のように書いています。

これで、「LoadLibrary」関数と「GetProcAddress」関数をそこに配置するだけで、準備完了です。

もちろん、これは本当です。これら2つの関数の正確なジャンプ位置さえあれば、win32アプリケーションを簡単に作成できます。

そのDLLで2つ(または技術的には「GetProcAddress」のみが実行する)を見つける方法を知っている人はいますか?または、(高級言語を使用する以外に)安価な代替手段はありますか?

前もって感謝します、

-キエロウ

4

1 に答える 1

4

kernel32.dllへのポインタを取得する方法を見つけたので、kernel32のエクスポートテーブルをトラバースして「GetProcAddress」を探すことができます。関数へのポインタを取得したら、それを呼び出すだけです。Raymond Chenが述べたように、これを行うには、PortableExecutableFormatの仕様をご覧ください。

于 2012-06-30T15:43:50.937 に答える