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:
object
class Platform
contains 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_source
parses 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_file
parses the source filefilename
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: >>> 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]¶ register
registers the platform for given OS name.Parameters: os (str) – OS name to register Return type: None
-
register_calling_convention
(cc)[source]¶ register_calling_convention
register 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)
-