https://github.com/felipensp/itrace
Tracks runtime instruction execution in Linux programs
https://github.com/felipensp/itrace
c disassembler elf lib ptrace runtime tracing
Last synced: 2 months ago
JSON representation
Tracks runtime instruction execution in Linux programs
- Host: GitHub
- URL: https://github.com/felipensp/itrace
- Owner: felipensp
- License: mit
- Created: 2013-06-29T14:23:52.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2013-08-25T19:51:54.000Z (almost 12 years ago)
- Last Synced: 2025-03-27T11:43:22.493Z (3 months ago)
- Topics: c, disassembler, elf, lib, ptrace, runtime, tracing
- Language: C
- Homepage:
- Size: 313 KB
- Stars: 34
- Watchers: 4
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
itrace
======Tracks runtime instruction execution in programs
* Supported: ELF 32 and 64 bit (little-endian).
* Requirements: libudis86 (https://github.com/vmt/udis86)Author: Felipe Pena (felipensp at gmail dot com)
###### Usage:
```
itrace [options]
-c, --command Program to be started and traced
-C, --comments Show comments after disassembled instruction
-h, --help Show this help
-i, --ignore-libs Disable tracing of libraries segments
-I, --show-count Show the number of instructions executed
-m, --maps Show the maps file after execution
-n, --max-inst Max number of instruction to trace
-o, --offset Address to start tracing
-p, --pid Attach to supplied pid
-q, --quiet Do not show default output
-r, --show-regs Dump registers on each instruction
-s, --show-stack Dump part of stack from top on each instruction
-S, --syntax Choose the syntax to be used on disassemble
-v, --version Show the version
```###### Example:
```
$ ./itrace -o 0x400584 -C -c ../overflow1 CBBBBBBBBAAAAAAAA
[+] Starting and tracing `../overflow1'
Arg[0]: ../overflow1
Arg[1]: CBBBBBBBBAAAAAAAA
0x400584: b800000000 mov $0x0, %eax
0x400589: c9 leave
0x40058a: c3 ret # 0x4141414141414141
[!] Program exited with status 11
```