You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+6-5Lines changed: 6 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,6 +14,7 @@ Special thanks to [QIRA](https://github.com/geohot/qira) / [geohot](https://twit
@@ -60,7 +61,7 @@ By *clicking and dragging across the timeline*, it is possible to zoom in on a s
60
61
61
62
## Execution Breakpoints
62
63
63
-
Clicking the instruction pointer in the registers window will highlight it in red, revealing all the locations the instruction was executed across the trace timeline.
64
+
Double clicking the instruction pointer in the registers window will highlight it in red, revealing all the locations the instruction was executed across the trace timeline.
64
65
65
66
<palign="center">
66
67
<imgalt="Placing a breakpoint on the current instruction"src="screenshots/trace_breakpoints.gif"/>
@@ -78,13 +79,13 @@ IDA's native `F2` hotkey can also be used to set breakpoints on arbitrary instru
78
79
79
80
## Memory Breakpoints
80
81
81
-
By clicking a byte in either the stack or memory views, you will instantly see all reads/writes to that address visualized across the trace timeline. Yellow indicates a memory *read*, blue indicates a memory *write*.
82
+
By double clicking a byte in either the stack or memory views, you will instantly see all reads/writes to that address visualized across the trace timeline. Yellow indicates a memory *read*, blue indicates a memory *write*.
82
83
83
84
<palign="center">
84
85
<imgalt="Exploring memory accesses using memory breakpoints"src="screenshots/memory_breakpoint.gif"/>
85
86
</p>
86
87
87
-
Memory breakpoints can be navigated using the same technique described for execution breakpoints. Click a byte, and *scroll while hovering the selected **byte*** to seek the trace to each of its accesses.
88
+
Memory breakpoints can be navigated using the same technique described for execution breakpoints. Double click a byte, and *scroll while hovering the selected **byte*** to seek the trace to each of its accesses.
88
89
89
90
*Right clicking a byte* of interest will give you options to seek between memory read / write / access if there is a specific navigation action that you have in mind.
90
91
@@ -96,7 +97,7 @@ To navigate the memory view to an arbitrary address, click onto the memory view
96
97
97
98
## Region Breakpoints
98
99
99
-
A rather experimental feature is setting access breakpoints for a region of memory. This is possible by highlighting a block of memory, and selecting the *Find accesses* action from the right click menu.
100
+
It is possible to set a memory breakpoint across a region of memoryby highlighting a block of memory, and double clicking it to set an access breakpoint.
100
101
101
102
<palign="center">
102
103
<imgalt="Memory region access breakpoints"src="screenshots/region_breakpoints.gif"/>
@@ -124,7 +125,7 @@ A simple 'shell' is provided to navigate to specific timestamps in the trace. Pa
124
125
<imgalt="Seeking around the trace using the timestamp shell"src="screenshots/idx_shell.gif"/>
125
126
</p>
126
127
127
-
Using an exclamation point, you can also seek a specified 'percentage' into the trace. Entering `!100` will seek to the final instruction in the trace, where `!50` will seek approximately 50% of the way through the trace.
128
+
Using an exclamation point, you can also seek a specified 'percentage' into the trace. Entering `!100` will seek to the final instruction in the trace, where `!50` will seek approximately 50% of the way through the trace.`!last` will seek to the last navigable instruction that can be viewed in the disassembler.
Copy file name to clipboardExpand all lines: tracers/README.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,8 +7,9 @@ Included within this repo are two tracers, with a third hosted out-of-repo. They
7
7
*`/tracers/pin` -- An Intel Pin based tracer for Windows/Linux usermode applications
8
8
*`/tracers/qemu` -- A QEMU based tracer to demo tracing the Xbox boot process on [XEMU](https://github.com/mborgerson/xemu)
9
9
*[Tenet Tracer](https://github.com/AndrewFasano/tenet_tracer) -- A [PANDA](https://github.com/panda-re/panda) based tracer contributed by [Andrew Fasano](https://twitter.com/andrewfasano)
10
+
*[what the fuzz](https://github.com/0vercl0k/wtf) -- A [powerful](https://blog.ret2.io/2021/07/21/wtf-snapshot-fuzzing/) snapshot-based fuzzer which can generate Tenet traces
10
11
11
-
At this time, Tenet has mostly been used to explore traces that were generated from private snapshotbased fuzzers. While these tracers are not public, snapshot fuzzer traces are perhaps the most immediate, real-world use case for this technology.
12
+
At this time, Tenet has mostly been used to explore traces that were generated from snapshot-based fuzzers. These are perhaps the most immediate, real-world use case for this technology until additional investments are made to scale it further.
0 commit comments