rendered paste body//D2Ptrs.h #define EXPTYPE(l,n,r,c,p) typedef r (c *n) p; extern n l##_##n; #define DECTYPE(l,n) n l##_##n; #define DEFFNC(l,n,o) l##_##n=(n)GETPTR(l,o); #define DEFEXP(l,n,a) UtilGetExport((LPCTSTR)((DWORD)a),&l##_##n,HANDLE(l)); #define DLLOFFSET(a1,b1) ((DLLNO_##a1)|((b1)<<8)) #define FUNCPTR(d1,v1,t1,t2,o1) typedef t1 d1##_##v1## t2; d1##_##v1## *d1##_##v1 = (d1##_##v1## *)DLLOFFSET(d1,o1); EXPTYPE(D2NET, ReceivePacket, void, __stdcall, (LPBYTE aPacket, DWORD aLen))//D2Ptrs.cppDECTYPE(D2NET, ReceivePacket)void DefineFuncs(VOID) { DEFEXP(D2NET, ReceivePacket, 0x66B0)}BOOL UtilGetExport(LPCTSTR lpszExport, LPVOID lpvFunction, HMODULE hModule) { FARPROC fpFunc = GetProcAddress(hModule, lpszExport); //FARPROC=32bit if (fpFunc == NULL) return FALSE; CopyMemory(lpvFunction, &fpFunc, sizeof(FARPROC)); return TRUE;}