Skip to content

ProgrammableMatter/elf-address-to-label

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

elf mapper

Replaces address occurrences matching 0x[0-9a-zA-Z]{4} by labels as shown by readelf -a. This usefull when generating a .dot graph where addresses should be replaced by labels. In case of multiple labels, the address is replaced by a list: {labe1, label2, labeln}.

Usage

java -jar <mapper> <labelsFile> <fileToReplaceAddresses>

Writes the translated file to pretty-fileToReplaceAddresses.

Compile

mvn clean assembly:single

Run

readelf -a > elfDump.txt
java -jar ./target/elf-mapper-0.0.2-SNAPSHOT-jar-with-dependencies.jar elfDump.txt fileToReplaceAddresses.txt

Example

A .dot file snippet with replaced addresses.

input mapped output
digraph G { digraph g {
"0x0000 - \n0x0004" [shape=box] "{__tmp_reg__, __vectors, __heap_end} - \n0x0004" [shape=box]
"0x0120 - \n0x0122" [shape=hexagon] "0x0120 - \nbufferbitpointerstart" [shape=hexagon]
"0x0122 - \n0x0130" [shape=hexagon] "bufferbitpointerstart - \nisdataendposition" [shape=hexagon]
"0x0342 - \n0x0356" [shape=hexagon] "setinitiatorstatestart - \nconstructcommunicationpro" [shape=hexagon]
"0x0356 - \n0x0366" [shape=hexagon] "constructcommunicationpro - \nconstructcommunicationpro" [shape=hexagon]
"0x0606 - \n0x062C" [shape=ellipse] "manchesterdecodebuffer - \n0x062c" [shape=ellipse]
"0x0922 - \n0x0928" [shape=ellipse] "receivesouth - \n0x0928" [shape=ellipse]
} }
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy