本帖最后由 lsq726 于 2010-12-27 00:36 编辑 int __stdcall MessageBoxW(HWND hWnd, LPCWSTR lpText, LPCWSTR lpCaption, UINT uType)
{
if ( dword_77D714BC )
{
if ( !InterlockedCompareExchange(&Destination, *(_DWORD *)(*MK_FP(__FS__, 24) + 36), 0) )
dword_77D71B20 = 1;
}
return MessageBoxExW(hWnd, lpText, lpCaption, uType, 0);
}
这段是USER32.DLL用IDA反的
这样的代码 AU3 可以这样调用:$dll = DllOpen("user32.dll")
$result = DllCall($dll, "int", "inet_addr", "hwnd", 0, "str", "若干文本", "str", "若干标题", "int", 0)
DllClose($dll)
如果是这样的代码:
unsigned __int32 __stdcall inet_addr(const char *cp)
{
unsigned __int32 result; // eax@1
_EAX = sub_10F62(cp);
__asm { bswap eax }
return result;
}
这段代码也是反别的程序的。
AU3该怎么调用?
=====
同时还有另一个问题就是 是不是可以用DLLCALL来调用SYS文件? |