JonathanSalwan / Triton

Triton is a dynamic binary analysis library. Build your own program analysis tools, automate your reverse engineering, perform software verification or just emulate code.
https://triton-library.github.io
Apache License 2.0
3.49k stars 533 forks source link

alternative pintools #1285

Closed xSanx closed 11 months ago

xSanx commented 1 year ago

advise an alternative PinTools? VMProtect-devirtualization

JonathanSalwan commented 1 year ago

Maybe:

xSanx commented 1 year ago

Maybe:

if driver windows/linux? and how necessary is "mr" (memory read) for optimization in triton?

JonathanSalwan commented 1 year ago

For driver/kernel you can use Qemu or an hypervisor (dump pages and emulate them offline)

xSanx commented 1 year ago

when intel pine is running, memory read (mr) is logged... this necessary for the effect of raising the code in llvm?

JonathanSalwan commented 1 year ago

I think all DBI provide such callbacks.

xSanx commented 1 year ago

debuggers? example windbg script?

JonathanSalwan commented 1 year ago

I've never used windbg, however with gdb/lldb you can put breakpoints wherever you want, then dump memory and registers and start emulating code with Triton from the dump. You can also use debugger as tracer using ptrace but that's quite slow. There are infinite ways to analyse binaries :)

xSanx commented 1 year ago

I do not know how to implement a dump "mr instruction" in the debugger ))))

xSanx commented 1 year ago

is there a command for gdb for memory read callback?

JonathanSalwan commented 11 months ago

I don't think there are memory callbacks in gdb. However, you can ptrace and directly read memory. Within gdb it's like doing si + x/x addr