platform module¶
binaryninja.platform.Platform([arch, handle]) |
class Platform contains all information related to the execution environment of the binary, mainly the calling conventions used. |
binaryninja.platform.range(*args) |
A Python2 and Python3 Compatible Range Generator |
binaryninja.platform.with_metaclass(meta, *bases) |
Create a base class with a metaclass. |
-
class
Platform(arch=None, handle=None)[source]¶ Bases:
objectclass Platformcontains all information related to the execution environment of the binary, mainly the calling conventions used.-
parse_types_from_source(source, filename=None, include_dirs=[], auto_type_source=None)[source]¶ parse_types_from_sourceparses the source string and any needed headers searching for them in the optional list of directories provided ininclude_dirs.Parameters: Returns: TypeParserResult(a SyntaxError is thrown on parse error)Return type: Example: >>> platform.parse_types_from_source('int foo;\nint bar(int x);\nstruct bas{int x,y;};\n') ({types: {'bas': <type: struct bas>}, variables: {'foo': <type: int32_t>}, functions:{'bar': <type: int32_t(int32_t x)>}}, '') >>>
-
parse_types_from_source_file(filename, include_dirs=[], auto_type_source=None)[source]¶ parse_types_from_source_fileparses the source filefilenameand any needed headers searching for them in the optional list of directories provided ininclude_dirs.Parameters: Returns: TypeParserResult(a SyntaxError is thrown on parse error)Return type: Example: >>> file = "/Users/binja/tmp.c" >>> open(file).read() 'int foo;\nint bar(int x);\nstruct bas{int x,y;};\n' >>> platform.parse_types_from_source_file(file) ({types: {'bas': <type: struct bas>}, variables: {'foo': <type: int32_t>}, functions: {'bar': <type: int32_t(int32_t x)>}}, '') >>>
-
register(os)[source]¶ registerregisters the platform for given OS name.Parameters: os (str) – OS name to register Return type: None
-
register_calling_convention(cc)[source]¶ register_calling_conventionregister a new calling convention.Parameters: cc (CallingConvention) – a CallingConvention object to register Return type: None
-
calling_conventions¶ List of platform CallingConvention objects (read-only)
Getter: returns the list of supported CallingConvention objects Type: list(CallingConvention)
-
cdecl_calling_convention¶ Cdecl calling convention.
Getter: returns a CallingConvention object for the cdecl calling convention. :setter sets the cdecl calling convention :type: CallingConvention
-
default_calling_convention¶ Default calling convention.
Getter: returns a CallingConvention object for the default calling convention. Setter: sets the default calling convention Type: CallingConvention
-
fastcall_calling_convention¶ Fastcall calling convention.
Getter: returns a CallingConvention object for the fastcall calling convention. :setter sets the fastcall calling convention :type: CallingConvention
-
functions¶ List of platform-specific function definitions (read-only)
-
list= []¶
-
name= None¶
-
stdcall_calling_convention¶ Stdcall calling convention.
Getter: returns a CallingConvention object for the stdcall calling convention. :setter sets the stdcall calling convention :type: CallingConvention
-
system_call_convention¶ System call convention.
Getter: returns a CallingConvention object for the system call convention. :setter sets the system call convention :type: CallingConvention
-
system_calls¶ List of system calls for this platform (read-only)
-
types¶ List of platform-specific types (read-only)
-
variables¶ List of platform-specific variable definitions (read-only)
-