module managers.nimGenerator
class NIMGenerator
Main class responsible for NIM code generation
method __init__
__init__() → None
method generate_debug
generate_debug(debug: bool) → str
Public method used to generate the SPT_DEBUG constant flag
Args:
debug
(bool): Debug flag value
Returns:
str
: NIM code for template integration
method generate_enum
generate_enum(name: str, definition: list) → str
Public method used to generate NIM enum declaration. The enum structure will be generated as a public object for external code usages. A pointer to the enum structure will always be generated in the form of: P+NAME
Args:
name
(str): Enum structure namedefinition
(list): Enum structure entries from definitions.json
Returns:
str
: NIM code for enum structure (except type keyword for definition chaining)
method generate_pointer
generate_pointer(name: str, definition: list) → str
Public method used to generate NIM pointer to defined var The pointer will be geneerated as a public object for external code usages.
Args:
name
(str): Pointer namedefinition
(list): Type definition to point to from definitions.json
Returns:
str
: NIM code for standard pointer declaration
method generate_seed
generate_seed(seed: int) → str
Public method used to generate the SPT_SEED constant value
Args:
seed
(int): Seed value
Returns:
str
: NIM code for template integration
method generate_standard
generate_standard(name: str, definition: list) → str
Public method used to generate NIM varaiable declaration. The variable will be generated as a public object for external code usages. A pointer to the variable will always be generated in the form of: P+NAME
Args:
name
(str): Variable namedefinition
(list): Variable type from definitions.json
Returns:
str
: NIM code for variable definition (except type keyword for definition chaining)
method generate_struct
generate_struct(name: str, definition: list) → str
Public method used to generate a NIM basic structure. The structure will be generated as a public object for external code usages. A pointer to the structure will always be generated in the form of: P+NAME
Args:
name
(str): Structure namedefinition
(list): Structure parameters from definitions.json
Returns:
str
: NIM code for basic structure definition (except type keyword for definition chaining)
method generate_stub
generate_stub(name: str, params: dict, fhash: int) → str
Public method used to generate stub code of syscall to hook
Args:
name
(str): NtFunction name to hookparams
(dict): Parameters of functions defined in prototypes.jsonfhash
(int): NtFunction hash value used by ASM call
Returns:
str
: NIM code for template integration
method generate_union
generate_union(name: str, definition: list) → str
Public method used to generate NIM union structure when a parent needs it. This structure will be generated as a private object as it won't be directly accessed by external code. A pointer to the union structure will always be generated in the form of: P+NAME
Args:
name
(str): Union structure namedefinition
(list): Union structure parameters from definitions.json
Returns:
str
: NIM code for union structure definition (except type keyword for definition chaining)
This file was automatically generated via lazydocs.