33 lines
847 B
Python
33 lines
847 B
Python
|
#!/usr/bin/env python3
|
||
|
#
|
||
|
# Cross Platform and Multi Architecture Advanced Binary Emulation Framework
|
||
|
|
||
|
# global primitive types used in fcalls and api hooks.
|
||
|
#
|
||
|
# operating systems may map their own types to these, or create additional ones
|
||
|
# with custom resolvers (see: QlOs)
|
||
|
PARAM_INT8 = 1
|
||
|
PARAM_INT16 = 2
|
||
|
PARAM_INT32 = 3
|
||
|
PARAM_INT64 = 4
|
||
|
PARAM_INTN = 5
|
||
|
|
||
|
# a generic pointer type that may be used to index pointed types
|
||
|
PARAM_PTRX = 128
|
||
|
|
||
|
# common alises to primitive types.
|
||
|
# TODO: let each OS define its own aliases and types
|
||
|
BYTE = PARAM_INT8
|
||
|
DWORD = PARAM_INT32
|
||
|
INT = PARAM_INT32
|
||
|
UINT = PARAM_INT32
|
||
|
BOOL = PARAM_INT32
|
||
|
LONGLONG = PARAM_INT64
|
||
|
ULONGLONG = PARAM_INT64
|
||
|
SIZE_T = PARAM_INTN
|
||
|
POINTER = PARAM_INTN
|
||
|
HANDLE = PARAM_INTN
|
||
|
STRING = PARAM_PTRX + 1
|
||
|
WSTRING = PARAM_PTRX + 2
|
||
|
GUID = PARAM_PTRX + 3
|