Fix stack addresses (when no ASLR) with and without debugging
Switch branches/tags
Nothing to show
Clone or download
hellman Merge pull request #3 from zachriggle/patch-2
Fix compat issue with 64-bit
Latest commit d553872 Jan 23, 2015
Permalink
Failed to load latest commit information.
test first commit Feb 13, 2012
README.md added readme Feb 13, 2012
r.sh Fix compat issue with 64-bit Jan 23, 2015

README.md

fixenv

A script to make stack addresses the same when running a program under gdb,ltrace,strace or without debugging (without ASLR of course). Env variables order is saved too.

Usage

Usage:
  ./r.sh getvar [var_name] - get address of envvar's value
  ./r.sh dump [start_addr [size]] - dump the end of the stack

Running programs:
  ./r.sh ./program - run program
  ./r.sh strace ./program - run program in strace
  ./r.sh ltrace ./program - run program in ltrace
  ./r.sh gdb ./program [arg1 [arg2 [ ... ]]] - run program in gdb

Example

$ ./r.sh gdb test/test
...
Local var: 0xbffffa5c
Env vars:
0xbffffc5f SHELL=/bin/bash
...

$ ./r.sh strace test/test 2>/dev/null
Local var: 0xbffffa5c
Env vars:
0xbffffc5f SHELL=/bin/bash
...

$ ./r.sh test/test 
Local var: 0xbffffa5c
Env vars:
0xbffffc5f SHELL=/bin/bash

$ export XYZ=SOMEDATA
$ ./r.sh getvar XYZ
0xbffffcb8  \xb8\xfc\xff\xbf  (XYZ)
$ ./r.sh test/test | grep XYZ
0xbffffcb4 XYZ=SOMEDATA

Author: hellman ( hellman1908@gmail.com )

License: GNU General Public License v2 (http://opensource.org/licenses/gpl-2.0.php)