Direct3D9
Rebased
Code:
unit uWotOffsets;
interface
const
offsRenderContext = $1D11D0C; // 97.5796
offsRCD3D = $DC; // 97.5796
offsRCD3DDevice = $E0; // 97.5796
offsD3DDeviceEndScene = $A8; // 97.5796
implementation
end.
Python 2.7.7
Several Functions/Variables
Not Rebased
Code:
Py_GetVersion: 0x1160cf0
Py_GetCompiler: 0x11721e0
COMPILER: 0x1a17628
Py_GetBuildInfo: 0x1160d40
PY_VERSION: 0x1a14ba4
version: 0x25ec9e0
PyOS_snprintf: 0x1147900
Py_InitializeEx: 0x10e4d40
initialized: 0x25e80c0
Py_DebugFlag: 0x27948d4
Py_VerboseFlag: 0x27948d0
Py_OptimizeFlag: 0x25ec0b8
Py_DontWriteBytecodeFlag: 0x27948b4
Py_HashRandomizationFlag: 0x25e80bc
_PyRandom_Init: 0x114ca60
_Py_HashSecret_Initialized: 0x25ec79c
_Py_HashSecret: 0x27948e0
Py_FatalError: 0x10e4bc0
win32_urandom: 0x114cbc0
lcg_urandom: 0x114cb80
PyInterpreterState_New: 0x1115930
PyThread_acquire_lock: 0x1161b90
PyThread_release_lock: 0x1161d20
PyThreadState_New: 0x1115c30
new_threadstate: 0x1115e20
threadstate_getframe: 0x117ee50
PyThread_get_thread_ident: 0x1161ce0
_PyThreadState_Init: 0x1161d50
PyThreadState_Swap: 0x1115c50
_PyThreadState_Current: 0x25ebedc
_Py_ReadyTypes: 0x10c9650
PyType_Ready: 0x10f8d20
PyTuple_New: 0x10c7d80
PyTuple_Pack: 0x10c7e80
PyDict_New: 0x10dc260
add_operators: 0x10f9480
add_methods: 0x10f9380
add_members: 0x10f9300
add_getset: 0x10f9280
mro_internal: 0x10fb260
inherit_special: 0x10fac80
PyObject_Free: 0x112eb30
PyExc_TypeError: 0x1fec29c
PyErr_Format: 0x10df550
PyDict_GetItemString: 0x10dbda0
PyString_FromString: 0x10d52b0
PyDict_SetItemString: 0x10dc470
Py_None: 0x1fe3028
PyType_Type: 0x1feee68
_PyWeakref_RefType: 0x1fe8318
_PyWeakref_CallableProxyType: 0x1fe84b0
_PyWeakref_ProxyType: 0x1fe83e8
PyBool_Type: 0x1fef600
PyString_Type: 0x1fe4dc0
PyByteArray_Type: 0x1ff8940
PyList_Type: 0x1fe6f90
PyNone_Type: 0x1fe3050
PyNotImplemented_Type: 0x1fe3118
PyTraceBack_Type: 0x1ffb5e0
PySuper_Type: 0x1feeff8
PyBaseObject_Type: 0x1feef30
PyRange_Type: 0x1ff71a8
PyDict_Type: 0x1fe7d78
PySet_Type: 0x1ff5240
PyUnicode_Type: 0x1ff11b8
PySlice_Type: 0x1ff5620
PyStaticMethod_Type: 0x1ff9f08
PyComplex_Type: 0x1ff6cf0
PyFloat_Type: 0x1fef8d0
PyBuffer_Type: 0x1ff75d8
PyLong_Type: 0x1ff3450
PyInt_Type: 0x1fe4220
PyFrozenSet_Type: 0x1ff5308
PyProperty_Type: 0x1ffc0f8
PyMemoryView_Type: 0x1ff7370
PyTuple_Type: 0x1fe2d28
PyEnum_Type: 0x1ff97f8
PyReversed_Type: 0x1ff98c0
PyCode_Type: 0x1ff48c0
PyFrame_Type: 0x1ffc948
PyCFunction_Type: 0x1ff9a00
PyMethod_Type: 0x1ff3b40
PyFunction_Type: 0x1ff9d78
PyClass_Type: 0x1ff39b0
PyDictProxy_Type: 0x1ffbea0
PyGen_Type: 0x1ffb9e8
PyGetSetDescr_Type: 0x1ffbf68
PyWrapperDescr_Type: 0x1ffbdd8
PyInstance_Type: 0x1ff3a78
PyEllipsis_Type: 0x1ff56e8
PyMemberDescr_Type: 0x1ffc030
PyFile_Type: 0x1ffb518
PyCapsule_Type: 0x1ff59e0
PyCell_Type: 0x1ffb710
PyCallIter_Type: 0x1ffb920
PySeqIter_Type: 0x1ffb858
_PyFrame_Init: 0x1144fb0
PyString_InternFromString: 0x10d5520
PyString_InternInPlace: 0x10d5550
_PyInt_Init: 0x10cd710
_PyLong_Init: 0x1113080
PyStructSequence_InitType: 0x1161810
long_info_desc: 0x1ff343c
Long_InfoType: 0x25ebe08
PyByteArray_Init: 0xd1c710
_PyFloat_Init: 0x10ffbe0
_PyUnicode_Init: 0x110b7a0
unicode_empty: 0x25eb788
EncodingMapType: 0x1ff0b80
PyFieldNameIter_Type: 0x1ff2900
PyFormatterIter_Type: 0x1ff2378
_PyBuiltin_Init: 0x114b800
builtin_methods: 0x1ffce50
Py_InitModule4: 0x10e32a0
PyModule_GetDict: 0x1115330
_PyErr_BadInternalCall: 0x10e04f0
_Py_EllipsisObject: 0x1ff5618
_Py_NotImplementedStruct: 0x1fe3030
_Py_ZeroStruct: 0x1fef6c4
_Py_TrueStruct: 0x1fef6d0
PyBaseString_Type: 0x1fe4cf8
PyClassMethod_Type: 0x1ff9e40
_PySys_Init: 0x10e6940
sys_methods: 0x1fe9bb0
PyFile_FromFile: 0x113f790
PY_VERSION_HEX: 0x20707f0
PyInt_FromLong: 0x10cd2a0
svnversion_init: 0x10e75b0
_Py_BuildValue_SizeT: 0x10e3280
PyBool_FromLong: 0x10fcda0
Py_GetCopyright: 0x1160d30
Py_GetPlatform: 0x1160d20
Py_GetProgramFullPath: 0x1148410
Py_GetPrefix: 0x11483f0
Py_GetExecPrefix: 0x11483f0
PyInt_FromSsize_t: 0x10cd320
PyInt_GetMax: 0x10cd570
PyFloat_GetInfo: 0x10ffa80
PyLong_GetInfo: 0x11125f0
PyUnicode_GetMax: 0x1109960
list_builtin_module_names: 0x10e70a0
_PyImport_FixupExtension: 0x10e8ed0
Py_GetPath: 0x11483d0
PySys_SetPath: 0x10e6880
_PyImport_Init: 0x10e8fa0
_PyExc_Init: 0x10f1b90
_PyExc_BaseException: 0x1febf38
_PyExc_Exception: 0x1fec1b8
_PyExc_StandardError: 0x1fec2a8
_PyExc_TypeError: 0x1fec458
_PyExc_StopIteration: 0x1fec6c8
_PyExc_GeneratorExit: 0x1fec858
_PyExc_SystemExit: 0x1feca10
_PyExc_KeyboardInterrupt: 0x1fecad8
_PyExc_ImportError: 0x1fecba0
_PyExc_EnvironmentError: 0x1feb8a0
_PyExc_IOError: 0x1feba80
_PyExc_OSError: 0x1febb48
_PyExc_WindowsError: 0x1febd58
_PyExc_EOFError: 0x1febe70
_PyExc_RuntimeError: 0x1fec000
_PyExc_NotImplementedError: 0x1fec0f0
_PyExc_NameError: 0x1fec370
_PyExc_UnboundLocalError: 0x1fec520
_PyExc_AttributeError: 0x1fec790
_PyExc_SyntaxError: 0x1fed8b0
_PyExc_IndentationError: 0x1feda40
_PyExc_TabError: 0x1fedbd0
_PyExc_LookupError: 0x1fedd60
_PyExc_IndexError: 0x1fedef0
_PyExc_KeyError: 0x1fee080
_PyExc_ValueError: 0x1feb6f0
_PyExc_UnicodeError: 0x1feb7b8
_PyExc_UnicodeEncodeError: 0x1fec600
_PyExc_UnicodeDecodeError: 0x1fec920
_PyExc_UnicodeTranslateError: 0x1fecc68
_PyExc_AssertionError: 0x1fecd30
_PyExc_ArithmeticError: 0x1fecdf8
_PyExc_FloatingPointError: 0x1fecec0
_PyExc_OverflowError: 0x1fecf88
_PyExc_ZeroDivisionError: 0x1fed050
_PyExc_SystemError: 0x1fed118
_PyExc_ReferenceError: 0x1fed1e0
_PyExc_MemoryError: 0x1fed2a8
_PyExc_BufferError: 0x1fed370
_PyExc_Warning: 0x1fed438
_PyExc_UserWarning: 0x1fed500
_PyExc_DeprecationWarning: 0x1fed5c8
_PyExc_PendingDeprecationWarning: 0x1fed720
_PyExc_SyntaxWarning: 0x1fed7e8
_PyExc_RuntimeWarning: 0x1fed978
_PyExc_FutureWarning: 0x1fedb08
_PyExc_ImportWarning: 0x1fedc98
_PyExc_UnicodeWarning: 0x1fede28
_PyExc_BytesWarning: 0x1fedfb8
PyImport_ImportModule: 0x10e87b0
PyImport_Import: 0x10e84c0
PyEval_GetFrame: 0x1119620
_PyThreadState_GetFrame: 0x25ebee0
PyObject_GetItem: 0x10ed9a0
PyImport_ImportModuleLevel: 0x10e87f0
PyErr_SetObject: 0x10e0080
PyObject_GetAttr: 0x10c84e0
PyObject_CallFunction: 0x10ecff0
PyModule_AddObject: 0x10e3170
_PyImportHooks_Init: 0x10e8bf0
initsigs: 0x1130990
_PyWarnings_Init: 0x112f3f0
PySys_HasWarnOptions: 0x10e65e0
initmain: 0x10e58d0
_PyGILState_Init: 0x1115c90
Py_NoSiteFlag: 0x27948c4
initsite: 0x10e5950
PySys_GetObject: 0x10e65b0
PyObject_CallMethod: 0x10ed100
PyObject_IsTrue: 0x10c8790
Sample code to get the address function EndScene:
Code:
function IsD3DReady: Boolean;
var
ba: DWORD;
begin
Result := false;
if pEndScene <> 0 then
begin
Result := true;
Exit;
end;
ba := GetBaseAddress;
pRenderContext := 0;
pDirect3D := 0;
pDirect3DDevice := 0;
pEndScene := 0;
pRenderContext := PDWORD(ba + offsRenderContext)^;
if pRenderContext = 0 then
Exit;
pDirect3D := PDWORD(pRenderContext + offsRCD3D)^;
if pDirect3D = 0 then
Exit;
pDirect3DDevice := PDWORD(pRenderContext + offsRCD3DDevice)^;
if pDirect3DDevice = 0 then
Exit;
Direct3DDevice := PDWORD(pDirect3DDevice)^;
pEndScene := PDWORD(Direct3DDevice + offsD3DDeviceEndScene)^;
//Writeln('D3D Ready');
//Writeln('BaseAddress: ' + IntToHex(ba, 8));
//Writeln('RenderContext: ' + IntToHex(pRenderContext, 8));
//Writeln('Direct3D: ' + IntToHex(pDirect3D, 8));
//Writeln('Direct3DDevice: ' + IntToHex(pDirect3DDevice, 8));
//Writeln('EndScene: ' + IntToHex(pEndScene, 8));
Result := true;
end;