Eksekusi penampil adalah aplikasi untuk melihat, mengedit dan menganalisis jejak eksekusi. Awalnya dibuat untuk kode yang dikaburkan rekayasa terbalik, tetapi dapat digunakan untuk menganalisis segala jenis jejak eksekusi.

git clone https://github.com/teemu-l/execution-trace-viewer
pip install pyqt5 yapsy qdarkstyle capstone
python tv.pyFormat file berikut didukung:
.tvt - format file default. Dikembangkan dari format jejak X64DBG. 3 Perbedaan dengan format X64DBG: Komentar, Disasm dan Bookmark ditambahkan.
.trace32 / .trace64 - x64dbg format file. Hanya bacaan yang didukung. Memuat jejak X64DBG lambat karena kode perlu dibongkar.
JSON - Jejak dapat disimpan dan dimuat dari file teks JSON.
Folder jejak berisi satu jejak sampel. Ini ~ 11K baris kode yang dikaburkan (oleh vMprotect3). Semua penangan dibongkar dan ditambahkan ke Bookmarks Table.
Penampil Trace Eksekusi dapat diperpanjang dengan plugin Python3. Plugin diluncurkan dari menu plugin atau dari menu klik kanan pada tabel jejak. Periksa contoh plugin dan core/api.py untuk info lebih lanjut.
Lebih banyak plugin:
Contoh filter:
| Menyaring | Keterangan |
|---|---|
| Disasm = Push | Pop | Disasm berisi kata dorong atau pop (push, pushfd, pop, dll) |
| Reg_eax = 0x1337 | Tampilkan baris di mana eax adalah 0x1337 |
| Reg_any = 0x1337 | Nilai Reg apa pun adalah 0x1337 |
| mem_value = 0x1337 | Nilai Baca atau Tulis 0x1337 ke memori |
| mem_read_value = 0x1337 | Nilai baca 0x1337 dari memori |
| mem_addr = 0x4f20 | Baca dari atau tulis ke alamat memori 0x4f20 |
| mem_read_addr = 0x40400 | Baca dari alamat memori 0x40400 |
| mem_write_addr = 0x40400 | Tulis ke alamat memori 0x40400 |
| Opcodes = C704 | Filter dengan Opcodes |
| Baris = 20-50 | Tampilkan hanya baris 20-50 |
| Regex = 0x40? 00 | Pencarian Regex yang Sensitif Kasus untuk Baris Seluruh (termasuk komentar) |
| Regex = baca | Tampilkan instruktur yang membaca memori |
| IREGEX = Junk | Dekripsi | terbalik regex, baris dengan 'sampah' atau 'dekripsi' disaring |
| Komentar = dekripsi | filter dengan komentar |
Dimungkinkan untuk bergabung dengan beberapa filter bersama -sama:
disasm=xor/reg_any=0x1337 ; show all xor instructions where atleast one register value is 0x1337
Untuk pemfilteran yang lebih kompleks, Anda dapat membuat plugin filter dan menyimpan daftar hasil menggunakan API.SET_FILTERED_TRACE (). Kemudian tunjukkan jejak dengan menelepon API.show_filtered_trace ().
Temukan baris berikutnya atau sebelumnya yang berisi kata kunci/nilai yang ditentukan dalam jejak.
Temukan memori sebelumnya tulis:
from core . filter_and_find import TraceField
current_row = 500
next_row = find (
trace = trace_data . trace ,
field = TraceField . MEM ,
keyword = 'WRITE' ,
start_row = current_row ,
direction = - 1
)Lacak bidang: Disasm, Regs, mem_addr, mem_value, komentar, apapun
Disasm Field mendukung beberapa kata kunci: "XOR/SHL/SHR". MEM Field memeriksa ketiga bidang di MEM Access (Access, Addr dan Value). Bilangan bulat harus diberikan dalam heksadesimal.
Tema gelap dapat dinonaktifkan dengan mengedit prefs.py:
USE_DARK_THEME = False Mit
Dikembangkan oleh Teku Laurila.
Kontak:
print ( '' . join ( map ( chr ,[ k ^ 86 for k in [ 34 , 51 , 51 , 59 , 35 , 58 , 55 , 22 , 38 , 36 , 57 , 34 , 57 , 56 , 59 , 55 , 63 , 58 , 120 , 53 , 57 , 59 ]])))