Sponsored Content
Top Forums Programming Editing or Adding to ELF string tables Post 302255591 by Dhodder on Thursday 6th of November 2008 07:09:41 PM
Old 11-06-2008
Perhaps I should clarify.

Assume that I don't have the source code - I can't compile extra info into the executable. I only have the binary.

There are various sections in the ELF headers - and after some research I thought that the best place to append strings would be the string tables. But, I'm not sure if it's possible to edit the binary - tho there is a tool called elfedit, written by a sun dev, which does exactly this (well, he modifies the runtime paths), but I can't find its source code. So - I'm assuming this behaviour is exposed in the API via libelf.

Some references -
http://people.freebsd.org/~jkoshy/download/libelf/article.html
Linker and Libraries Guide

Any ideas, guys?
 

8 More Discussions You Might Find Interesting

1. Linux

editing ELF file

Hello, This is not exactly relevant to Linux kernel but I'm gonna ask any way. Is there any way I can modify a 64-bit ELF object file to make it look like 32-bit ELF object file and link it (using `ld`) with 32-bit ELF file? I tried libelf but was unsuccessful. I had this pretty link... (1 Reply)
Discussion started by: tejuwala
1 Replies

2. Shell Programming and Scripting

string editing in files

Hi all, I'm fairly new to scripting in linux and need some help. I have an file that looks something like this: ~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Some comments # Some comments # Some comments # Some comments # Some comments # Some comments abc:/path/to/somewhere:X... (3 Replies)
Discussion started by: Avatar Gixxer
3 Replies

3. Shell Programming and Scripting

SH Script help. editing string

I have a string that looks like this username|field1|field2|field3 the data has a delimiter of "|" how can i edit field1, keeping the rest of the data the same also how can i edit field2 and 3. (3 Replies)
Discussion started by: nookie
3 Replies

4. Programming

ELF-string table

hello everybody! I want to read the string table of an object file(which is in ELF format). I get the sh_name value but i cant find a way to read the value in the string table that this index represent. I program in C. thanx a lot folks! (3 Replies)
Discussion started by: nicos
3 Replies

5. UNIX for Dummies Questions & Answers

Help with editing string elements

Hi All I have a question. I would like to edit some string characters by replacing with characters of choice located in another file. For example in sample file>S5_SK1.chr01 NNNNNNNNNNNNNNNNNNNCAGCATGCAATAAGGTGACATAGATATACCCACACACCACACCCTAACACTAACCCTAATCTAACCCTGGCCAACCTGTTT... (9 Replies)
Discussion started by: pawannoel
9 Replies

6. Shell Programming and Scripting

Editing part of the string

Hi guys got a problem here hope u all can help me. I learn that sed can actually edit a string but you need to know the old attribute to change to new 1. Example: sed "s/$title:$author/$title:$Nauthor/g" "Harry Potter - The Half Blood Prince:J.K Rowling:40.30:10:50" Each delimiter : represent... (4 Replies)
Discussion started by: GQiang
4 Replies

7. Shell Programming and Scripting

Need help regarding String editing

Hi Geeks I am working on trimming the logs and extracting the XMLs from it. I am facing one problem here. My XML String is ending with ...........Request></Body></Envelope>S/R sometimes there is more then just S/R in the end. I want to delete anything comes after </Envelope>... (3 Replies)
Discussion started by: santy00110011
3 Replies

8. Shell Programming and Scripting

Editing in vi - adding words to a line

i have lines in a file similar to this: results=$(echo Total: ${res} | command | command) now I need to add text before the word "results", but i dont know how to do it. here's what i tried: %s~results=.*echo Total:.* ${7}~PROCESS \; results=.*echo Total:.* ${7}~g the problem is,... (1 Reply)
Discussion started by: SkySmart
1 Replies
elf_getscn(3E)															    elf_getscn(3E)

NAME
elf_getscn(), elf_ndxscn(), elf_newscn(), elf_nextscn() - get section information for ELF files SYNOPSIS
Command: [flag]... file... [library]... DESCRIPTION
These functions provide indexed and sequential access to the sections associated with the ELF descriptor elf. If the program is building a new file, it is responsible for creating the file's ELF header before creating sections; see elf_getehdr(3E). returns a section descriptor, given an index into the file's section header table. Note the first "real" section has index 1. Although a program can get a section descriptor for the section whose index is 0 the undefined section), the section has no data and the section header is "empty" (though present). If the specified section does not exist, an error occurs, or elf is null, returns a null pointer. creates a new section and appends it to the list for elf. Because the section is required and not "interesting" to applications, the library creates it automatically. Thus the first call to for an ELF descriptor with no existing sections returns a descriptor for section 1. If an error occurs or elf is null, returns a null pointer. After creating a new section descriptor, the program can use to retrieve the newly created, "clean" section header. The new section descriptor will have no associated data (see elf_getdata(3E)). When creating a new section in this way, the library updates the member of the ELF header and sets the bit for the section (see elf_flag(3E)). If the program is building a new file, it is responsible for creating the file's ELF header (see elf_getehdr(3E)) before creating new sections. takes an existing section descriptor, scn, and returns a section descriptor for the next higher section. One may use a null scn to obtain a section descriptor for the section whose index is 1 (skipping the section whose index is If no further sections are present or an error occurs, returns a null pointer. takes an existing section descriptor, scn, and returns its section table index. If scn is null or an error occurs, returns EXAMPLES
An example of sequential access appears below. Each pass through the loop processes the next section in the file; the loop terminates when all sections have been processed. scn = 0; while ((scn = elf_nextscn(elf, scn)) != 0) { /* process section */ } SEE ALSO
elf(3E), elf_begin(3E), elf_flag(3E), elf_getdata(3E), elf_getehdr(3E), elf_getshdr(3E). elf_getscn(3E)
All times are GMT -4. The time now is 12:46 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy