![]() |
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 |