platform module¶
binaryninja.platform.Platform (arch[, handle]) |
class Platform contains all information releated to the execution environment of the binary, mainly the |
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
binaryninja.platform.
Platform
(arch, handle=None)[source]¶ Bases:
object
class Platform
contains all information releated to the execution environment of the binary, mainly the calling conventions used.-
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
= [<platform: decree-x86>, <platform: freebsd-aarch64>, <platform: freebsd-armv7>, <platform: freebsd-thumb2>, <platform: freebsd-x86>, <platform: freebsd-x86_64>, <platform: linux-aarch64>, <platform: linux-armv7>, <platform: linux-thumb2>, <platform: linux-armv7eb>, <platform: linux-thumb2eb>, <platform: linux-mipsel>, <platform: linux-mips>, <platform: linux-ppc32>, <platform: linux-ppc32_le>, <platform: linux-x86>, <platform: linux-x86_64>, <platform: mac-aarch64>, <platform: mac-armv7>, <platform: mac-thumb2>, <platform: mac-x86>, <platform: mac-x86_64>, <platform: windows-aarch64>, <platform: windows-armv7>, <platform: windows-thumb2>, <platform: windows-x86>, <platform: windows-x86_64>]¶
-
name
= None¶
-
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
-
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)
-