Comments (4)
gtirb-pprinter (which is the component responsible for generating assembly and other artifacts for re-assembly, e.g., symbol version scripts - emitting an IR from ddisasm and using gtirb-pprinter directly gives some more options than ddisasm's --asm
option) does not currently support generating linker scripts.
Is the idea of generating a linker script intended to ensure each section retains the original address? Or are there additional problems that it would solve?
#59 is a related issue, which has a bit more discussion of additional challenges with regenerating binaries identical to the original (in particular, this comment from aeflores).
from ddisasm.
Generating linker scripts could help with some of the discrepancies, and we have considered implementing this functionality (in gtirb-pprinter), but as @adamjseitz said, this is not yet supported.
If want to implement it yourself, please take a look at our contributors guide https://github.com/GrammaTech/gtirb-pprinter/blob/master/CONTRIBUTING.md
from ddisasm.
does not currently support generating linker scripts.
I see. Thanks.
Is the idea of generating a linker script intended to ensure each section retains the original address?
Mostly yes. And it enables users to inject code to where they want without using pure address in assembly(which is not easy to modify)
If want to implement it yourself, please take a look at our contributors guide
Thanks.
from ddisasm.
Is the idea of generating a linker script intended to ensure each section retains the original address?
Oh, this also prevent gcc from using its default linker script which removes vanilla sections of the elf.
from ddisasm.
Related Issues (20)
- Global struct array splitted into two parts HOT 4
- Ambiguity in the result of `symbolic_operand` HOT 1
- GTIRB IR file generated GTIRB IR file can't be printed in gtirb-pprint HOT 2
- dll exporting the same function it imports HOT 5
- Remove .ilk files from prebuilt binaries package
- [?] outline functions in the disassembly HOT 3
- How to get instruction boundaries for binaries compiled by icc ? HOT 1
- Several reassembly error cases on Ddisasm HOT 9
- [BINARY] fails disassembly MSVC dll HOT 2
- "Lib.exe: command not found" when reassembling PE binaries HOT 1
- ls binary fails reassembly on Ubuntu 22 HOT 7
- [ls] fails reassembly HOT 6
- `gcc ls.s -o ls-out -l selinux -nostartfiles -O0` does not products exactly the same code signature as the original file HOT 10
- [non-pie] fails to disassemble on ubuntu-20.04.6 : process killed HOT 13
- [Question] Any simple way to get function entries? HOT 2
- remove fake plt/got in windows PE files HOT 2
- document the usage of pkg-config --libs libselinux on Linux HOT 2
- binary disassembly got warning , when recompile to binary got error HOT 3
- NASHTA fails disassembly HOT 12
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ddisasm.