miasm
Reverse engineering framework
|
Classes | |
class | DataArray |
class | DataStr |
class | LinkedList |
class | ListNode |
Variables | |
loc_db = LocationDB() | |
my_heap = heap() | |
jitter = Machine("x86_32").jitter(loc_db, "python") | |
vm = jitter.vm | |
link = LinkedList(vm) | |
raw_size | |
real_data = data.cast(DataArray) | |
data = link.pop(DataArray) | |
arrayptr | |
datastr = data.cast(DataStr) | |
val1 | |
val2 | |
valshort | |
memstr = datastr.data.deref | |
val | |
string | raw_miams = 'Miams'.encode('utf-16le') + b'\x00'*2 |
list | raw_miams_array = [ord(c) for c in iterbytes(raw_miams)] |
argv_t = Array(Ptr("<I", Str()), 4) | |
argv = argv_t.lval(vm) | |
MemStrAnsi = Str().lval | |
This script is just a short example of common usages for miasm.core.types. For a more complete view of what is possible, tests/core/types.py covers most of the module possibilities, and the module doc gives useful information as well.
example_types.argv = argv_t.lval(vm) |
example_types.arrayptr |
example_types.data = link.pop(DataArray) |
example_types.datastr = data.cast(DataStr) |
example_types.link = LinkedList(vm) |
example_types.loc_db = LocationDB() |
example_types.memstr = datastr.data.deref |
example_types.MemStrAnsi = Str().lval |
example_types.my_heap = heap() |
string example_types.raw_miams = 'Miams'.encode('utf-16le') + b'\x00'*2 |
list example_types.raw_miams_array = [ord(c) for c in iterbytes(raw_miams)] |
example_types.raw_size |
example_types.real_data = data.cast(DataArray) |
example_types.val |
example_types.val1 |
example_types.val2 |
example_types.valshort |
example_types.vm = jitter.vm |