我有一些二进制数据,其中包含一堆函数并想调用其中一个函数。 我知道这些函数的签名以及相对于文件开始的偏移量。呼叫约定是默认的:__cdecl
。 该文件已被加载到具有执行权限的内存页面中。如何从二进制数据调用函数
例如(A
,B
,C
是某些类型)
void myFunction (A *arg1, B arg2, C arg3); // Signature
int myOffset = 0x42; // Offset
我怎么可以指定myOffset
点myFunction
?
我不是专家,但我想如果你调用__cdecl函数,如果你的程序期待__stdcall,堆栈会泄漏。默认应该是__stdcall – 2009-10-17 09:41:01
__stdcall用于WINAPI函数。 __cdecl是其他功能的标准。见http://msdn.microsoft.com/en-us/library/zkwh89ks(VS.80).aspx – Etan 2009-10-17 09:52:16
@Etan我有类似的问题,想知道你是如何抵消所有例程...请帮助! – 2012-09-13 22:25:04