Skip to content

xiaoyuechen/dift-addr

Repository files navigation

Clueless

Clueless as binary tools

Clueless comes with 2 example binary tools — how-address and reuse-distance. Run make to build them.

how-address

This tools tells you how your programs’ memory addresses are made.

Usage /.how-address --help

Usage: how-address [OPTION...] TRACE
How memory addresses are made

  -b, --heartbeat=N          Print heartbeat every N instructions
  -s, --simulate=N           Simulate N instructions
  -w, --warmup=N             Skip the first N instructions
  -?, --help                 Give this help list
      --usage                Give a short usage message
  -V, --version              Print program version

./how-address trace.champsimtrace.xz outputs a space separated table that can be piped into a csv file. A table looks like this:

inslvl0lvl1lvl2lvl3+t1t2t3t4t5t6t7t8+gttall
1000000018763275841135091815617461386341415835188444379511

What do different columns mean?

ins
#instructions simulated.
lvl0
#directly leaked addresses.
lvl1..lvl3+
#indirectly leaked addresses. The number after lvl means the indirection level, i.e., the number of arithmetic instructions used to transform the value into the address.
t1..t8+
#loads used to combine into the address.
gtt
#values turning into addresses.
all
#all addresses.

reuse-distance

This program tells you the reuse-distance of critical loads.

About

Dynamic Information Flow Tracking on ADDResses

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published