Jump or break at instrumentation point?

71 views
Skip to first unread message

Avalon

unread,
Aug 31, 2021, 5:09:54 PM8/31/21
to DynamoRIO Users
When using dynamorio (dr_insert_clean_call, dr_insert_call, drwrap_wrap), does it insert a breakpoint (0xCC) and an exception handler? Or does it insert a 0xE9 jump at the target address?

Where can I find this in code?

And, does Intel Pin insert breakpoints or jumps --- is it the same as yours?


Abhinav Sharma

unread,
Aug 31, 2021, 5:42:48 PM8/31/21
to dynamor...@googlegroups.com, Derek Bruening
Hi,
dr_insert_clean_call and dr_insert_call use a call instruction -- take a look at insert_reachable_cti and insert_meta_call_vargsdrwrap uses clean calls too (see links for code).

I'm not aware of Pin's implementation. +Derek Bruening might know.

Abhinav

--
You received this message because you are subscribed to the Google Groups "DynamoRIO Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dynamorio-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/dynamorio-users/8a28a846-af60-42ba-99cc-0ff1d36a8515n%40googlegroups.com.

Derek Bruening

unread,
Aug 31, 2021, 6:58:19 PM8/31/21
to Abhinav Sharma, dynamor...@googlegroups.com
Your question seems to assume that the target application will be modified, which is not the case (except in "probe modes" which are not the default nor the strengths of these types of tool infrastructure).  If you look at the tutorial slides and other documentation it explains how a code cache is used and a copy of the code is executed and thus there would never be a need for breakpoints or inserting anything at the target address itself.
Reply all
Reply to author
Forward
0 new messages