これはpydbg
の質問よりも、おそらくの質問ですが、結果が矛盾している理由はまだ分かりません。pydbg exit_hook(コールバック)の中で、どのようにしてスタック値を一致するPython型に変換できますか?
私はこのようなpydbg
を使用してLoadLibraryA
上exit_hook
セットとそのutils.hook_container
クラスがあります。
def exit_LoadLibraryA(dbg, args, ret):
libname = c_char_p(args[0])
# or: libname = ctypes.cast(args[0], ctypes.c_char_p)
print "LoadLibraryA(%s) -> %08X" % (str(libname), ret)
return DBG_CONTINUE
残念ながら出力が矛盾しているが。一部の値がに変換(及びとして示されている)の文字列を取得しながら、いくつかの他は次のように数字で示されます:私が望むものを
LoadLibraryA(c_char_p(2007516492)) -> 7C800000
LoadLibraryA(c_char_p(17426164)) -> 77DD0000
LoadLibraryA(c_char_p(17426164)) -> 76C30000
LoadLibraryA(c_char_p('UxTheme.dll')) -> 5AD70000
LoadLibraryA(c_char_p('IMM32.dll')) -> 76390000
LoadLibraryA(c_char_p('COMCTL32.dll')) -> 773D0000
LoadLibraryA(c_char_p('Secur32.dll')) -> 77FE0000
LoadLibraryA(c_char_p(1033757216)) -> 7C9C0000
が確実char*
(以降LoadLibraryW
のwchar_t*
)に変換することですそれを出力するPython文字列。
ありがとうございます。私はそれを試してみると戻って報告する(と受け入れる:) – 0xC0000022L