summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-06-27Allocate .symtab during Reladd if none presentcleanupnorly
2013-06-27Remove unneeded struct member and fix references to itnorly
2013-06-27Serialize symtab after merge in Reladdnorly
2013-06-27Add test for dynamically linked global variables (stdout, etc)norly
2013-06-27Relax restrictions on NOBITS sectionsnorly
2013-06-27Dump: More info about child sectionsnorly
2013-06-27Move test data256mb to end and add data64kbnorly
2013-06-27Remove stale Makefile in tests/src/norly
2013-06-27Lookup dynamically linked global variables.norly
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.
2013-06-27Only use -fPIC when compiling the shared object.norly
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.
2013-06-26Separate PLT lookupnorly
2013-06-26Expand PHDR space only if there are pages availablenorly
2013-06-26Expand downwards only if there is enough spacenorly
2013-06-26Only make space for more PHDRs if they are in the first LOADnorly
2013-06-25Check for (and abort on) multiple symbol tablesnorly
2013-06-24Fix Makefile for Red Hat's libelf that does not support pkg-confignorly
2013-06-24Remove assertion that breaks with Red Hat's libelfmorephdrnorly
2013-06-24Tests for x86-64norly
2013-06-24PHDR addition. Should make x86-64 work in many cases.norly
2013-06-24mLayoutAuto: Do not move LOAD segments, and update PHDR PHDRnorly
2013-06-24Reorder PHDRs according to ELF specnorly
2013-06-24mLayoutGetSpaceInPhdr: Use mPhdrLoadLowestHighestnorly
2013-06-24PHDR: Find lowest/highest addr/offsnorly
2013-06-22reladd: Work more with sh_addr instead of sh_offsetnorly
2013-06-22Minor fixes to PHDR expansion to lower addressesnorly
2013-06-22PHDR: find by addr/offsetnorly
2013-06-21Use .rela.plt too - need this for x86-64c90norly
2013-06-21mFromFile: Initialize *menorly
2013-06-21Minor cleanup in reladd, 2nd passnorly
2013-06-21Merge cloneScn() into reladd.cnorly
It's the only place where we use it, and it's case-specific
2013-06-21LOAD PHDRs at top level, others as children. mPhdrForall().norly
The reference binaries had to be updated as PHDRs are now reordered.
2013-06-20Add Elf/Phdr/Scn alloc/destroynorly
2013-06-20Extend relocation parser to full 32/64 bitsnorly
2013-06-20Cleaner ElfuPhdr allocnorly
2013-06-20Clean up code using ElfuScnnorly
2013-06-20Separate library code, build .a/.sonorly
2013-06-20Automate testsnorly
2013-06-18Basic detour supportnorly
2013-06-17C90 compliance, except variadic macros and TODOsnorly
Also removed a lot of dead code from the early days.
2013-06-16mv main.c -> elfucli.c, make it scriptable via argssymrelnorly
2013-06-16Clean up main.c a bitnorly
2013-06-15Factor out symbol table handlingnorly
2013-06-15Rename mRelocatenorly
2013-06-15Basic x86-64 support, not very usable in practicenorly
Turns out that x86-64 aligns LOAD segments to 0x200000 bytes. Given that the mapping starts at 0x400000, there is not much room to expand... so there will be a need to add additional LOAD headers.
2013-06-15Merge symbol tables. (Not fully ELF conformant)norly
Also, remove that nameptr member from symbols. It just *had* to cause trouble. Symbols are simply appended to the target's symbol table, which means that LOCAL symbols are not inserted at the beginning and we are thus ignoring an ELF spec. Might change that in the future, it's good enough for now and it's sure not to break anything with the old symbols. The code currently assumes that the target *has* a symbol table. We'll have to fix that, and also remove undefined and duplicate symbols.
2013-06-15Flatten symtab to file - gdb works, check breaks.norly
2013-06-15Make symtab and reltab resident in ElfuScnnorly
2013-06-15Rename CLI to elfuclinorly
2013-06-12Rename elfedit to centaur, model to modelopsnorly
2013-06-03Do not insert STRTAB sections explicitlynorly