Skip to content

Commit 672ff0c

Browse files
committed
update readmes
1 parent 7e00270 commit 672ff0c

File tree

3 files changed

+8
-6
lines changed

3 files changed

+8
-6
lines changed

README.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ Special thanks to [QIRA](https://github.com/geohot/qira) / [geohot](https://twit
1414

1515
## Releases
1616

17+
* v0.2 -- Imagebase detection, cell visualization, breakpoint refactor, bugfixes.
1718
* v0.1 -- Initial release
1819

1920
# Installation
@@ -60,7 +61,7 @@ By *clicking and dragging across the timeline*, it is possible to zoom in on a s
6061

6162
## Execution Breakpoints
6263

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.
6465

6566
<p align="center">
6667
<img alt="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
7879

7980
## Memory Breakpoints
8081

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*.
8283

8384
<p align="center">
8485
<img alt="Exploring memory accesses using memory breakpoints" src="screenshots/memory_breakpoint.gif"/>
8586
</p>
8687

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.
8889

8990
*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.
9091

@@ -96,7 +97,7 @@ To navigate the memory view to an arbitrary address, click onto the memory view
9697

9798
## Region Breakpoints
9899

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 memory by highlighting a block of memory, and double clicking it to set an access breakpoint.
100101

101102
<p align="center">
102103
<img alt="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
124125
<img alt="Seeking around the trace using the timestamp shell" src="screenshots/idx_shell.gif"/>
125126
</p>
126127

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.
128129

129130
## Themes
130131

screenshots/tenet_overview.gif

-1.63 MB
Loading

tracers/README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,9 @@ Included within this repo are two tracers, with a third hosted out-of-repo. They
77
* `/tracers/pin` -- An Intel Pin based tracer for Windows/Linux usermode applications
88
* `/tracers/qemu` -- A QEMU based tracer to demo tracing the Xbox boot process on [XEMU](https://github.com/mborgerson/xemu)
99
* [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
1011

11-
At this time, Tenet has mostly been used to explore traces that were generated from private snapshot based 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.
1213

1314
## Trace Format
1415

0 commit comments

Comments
 (0)