Python-在Windows DLL中调用过程(按地址,而不是按名称)
我想知道在Python中,是否可以(如果可以,如何)通过Proc地址而不是名称从DLL调用例程 举个例子:我正在分析一个恶意dll,我想调用的一个例程没有导出(引用它的名称),但是我知道例程的基地址 这在C/C++中是可能的,方法是将函数指针强制转换为类型定义的函数原型 在Python中是否有类似的方法来实现这一点Python-在Windows DLL中调用过程(按地址,而不是按名称),python,function,dll,loadlibrary,Python,Function,Dll,Loadlibrary,我想知道在Python中,是否可以(如果可以,如何)通过Proc地址而不是名称从DLL调用例程 举个例子:我正在分析一个恶意dll,我想调用的一个例程没有导出(引用它的名称),但是我知道例程的基地址 这在C/C++中是可能的,方法是将函数指针强制转换为类型定义的函数原型 在Python中是否有类似的方法来实现这一点 如果没有,是否需要修改dll的导出表,以将已知的导出名称映射到地址。我可以修改导出表,将已导出例程的基址更改为我自己的例程 这使我能够使用导出的名称通过Python执行我感兴趣的子例
如果没有,是否需要修改dll的导出表,以将已知的导出名称映射到地址。我可以修改导出表,将已导出例程的基址更改为我自己的例程
这使我能够使用导出的名称通过Python执行我感兴趣的子例程。我也在寻找Python中按地址获取函数的解决方案。 我仍然不知道怎么做,但我找到了另一种方法,通过其序号()获取未命名函数,如下所示:
dll = CDLL("mydll.dll")
myfunc = dll[32] # the 32-th function
是的,但这仍然要求例程是导出的。