Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This works ONLY in position-dependent executables.
Processing position-independent code includes generating and inserting
code that finds out the current instruction address. That's beyond the
scope of editing normal executables, which are usually
position-dependent unless requested otherwise.
|
|
We can only use position-dependent global variables (R_*_COPY) in
injected code, not the position-independent R_*_GLOB_DAT as used in
shared objects.
And being able to modify the tool itself turns out to be a cool thing to
be able to.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
It's the only place where we use it, and it's case-specific
|
|
The reference binaries had to be updated as PHDRs are now reordered.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Also removed a lot of dead code from the early days.
|
|
|