c - Finding strings in the text section -
i have example following code:
foo( "test1" ); void foo(const char* const i_test ) { // logic }
the i_test
pointer in foo()
hold pointer string in .rodata section
.
is there way search i_text
pointer value in binary file find related string? or can produce debug info using gcc
hold info?
if talking elf file format, constant strings stored in .rodata (read-only-data) section. basically, instructions (codes) of program stored in .text section in binary file. can investigate these sections using object dump program (e.g. objdump) following:
objdump -drs program.o // see .text section of program objdump -s -j .rodata program.o // see .rodata section of program
in sample code above, "test1"
string passing foo
function treated constant string compiler. thus, can find relative memory address before loading stage , i_test
pointer pointing constant string. however, if have compiled code position independent (by using -fpic
option in gcc), may find out compiler add writable attribute read-only .rodata section. furthermore, may use readelf binary utility display detailed information elf formatted object file's sections.
more information elf file format can found in here
Comments
Post a Comment