Вопросы по теме 'readelf'
gcc, чтобы сообщить регистру, скомпилированному из какой переменной
Мне нужно знать, из какой переменной скомпилирован регистр двоичной инструкции в файле obj. Вкратце: отображение регистра в переменную для каждой инструкции
Пример: предположим, что objdump дает фрагмент файла obj как:
MOV R1 5 #...
324 просмотров
schedule
14.06.2022
Эльф в память изображения для моделирования
Я пишу имитационную модель Sparc V8 на C ++. Память моделируется просто как массив. Мне нужно прочитать исполняемый файл elf, созданный кросс-компилятором, и использовать его для инициализации памяти. Планирую сделать это следующим образом....
840 просмотров
schedule
18.02.2022
вывести имя библиотеки, которая определяет данный символ
Предполагая, что у вас есть имя символа (расшифрованного или нет) и имя библиотеки, динамически связанной с другими, вы хотите узнать, какая библиотека способна разрешить этот символ.
Я пытался использовать nm , objdump и readelf , и я не могу...
476 просмотров
schedule
16.04.2023
Как readelf переводит точку входа
У меня есть файл elf, и когда я использую readelf -h имя файла, я получаю точку входа. Теперь предположим, что я хочу вычислить этот адрес самостоятельно [используя ассемблер, но язык не важен].
Как я могу это сделать?
Я знаю, что точка входа...
2228 просмотров
schedule
14.06.2023
DWARF - Как найти адреса конца пролога/начального эпилога функций в заданном двоичном файле?
У меня есть двоичный файл ARM, для которого мне нужно точно определить, по каким адресам заканчиваются прологи его функций и начинаются эпилоги. Другими словами, мне нужны границы тел функций. Например, если у меня есть функция, сборка которой...
1057 просмотров
schedule
10.07.2022
Определение адресов символов с помощью binutils/readelf
Я работаю над проектом, в котором наши проверочные тестовые сценарии должны находить адреса символов в тестируемой сборке программного обеспечения. Это может быть использовано для установки точек останова или чтения статических данных из памяти. Мне...
4244 просмотров
schedule
15.05.2023
Что означает информация о версии в ldd -v?
Version information:
/usr/lib/lapack/liblapack.so:
libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.2.5) =>...
1832 просмотров
schedule
09.07.2022
VirtualAddress, LoadAddress и PhysicalAddress в файле ELF?
Согласно руководству ld по Описание раздела вывода :
section [address] [(type)] :
[AT(lma)]
[ALIGN(section_align) | ALIGN_WITH_INPUT]
[SUBALIGN(subsection_align)]
[constraint]
{
output-section-command...
1085 просмотров
schedule
29.10.2022
objdump --dwarf ассемблерного кода не перечисляет функции
Я написал простую процедуру сборки x86:
$ cat asm.s
.global foo
.section .text
foo:
nop
ret
И скомпилировал его с
$ gcc -c -g asm.s -o asm.o
Но когда я делаю objdump --dwarf asm.o , он не отображает никакой информации о...
990 просмотров
schedule
13.04.2023
Несоответствие инструментов для анализа размера раздела .bss файла ELF
При анализе раздела .bss программы на C++, скомпилированной в виде файла ELF для платформы ARM, я столкнулся с несколькими способами определения размера. Четыре проверенных мной способа также упоминаются в вопросе Инструмент для анализа размер...
916 просмотров
schedule
16.04.2023
Как извлечь все поля из заголовка раздела для файла elf?
Таким образом, я смог получить sh_name с помощью учебника Elf здесь: http://wiki.osdev.org/ELF_Tutorial и этот вопрос: получение sh_name элемент в эльфийском файле заголовка раздела , но при использовании того же метода для получения остальных...
358 просмотров
schedule
22.11.2022
readelf отображает два номера версии
Я попытался запустить readelf с параметром -h, и он отображает два поля под названием «Версия», в каждом из которых указано число 1.
В одном из полей указано «Версия 1 (текущая)», а в другом — «Версия 0x1».
Каково значение этих двух полей?...
323 просмотров
schedule
16.09.2022
Как понять разницу между Offset и VirAddr в заголовках программ в elf?
Существует общий файл библиотеки elf, я использую readelf -l , чтобы увидеть заголовки программы, вывод:
Elf file type is DYN (Shared object file)
Entry point 0x0
There are 11 program headers, starting at offset 52
Program Headers:
Type...
705 просмотров
schedule
31.01.2023
Как понять код дизассемблера раздела .bss?
Исходный код C:
static int b;
Соответствующий код дизассемблирования раздела .bss в объектном файле:
Disassembly of section .bss:
00000000 <b>:
0: 00 00 add %al,(%eax)
2: 00 00 add...
626 просмотров
schedule
08.04.2023
Как получить строки shstrtab?
Я пишу упрощенную версию readelf для Linux.
Я хочу распечатать информацию о разделе, поэтому мне нужны названия разделов. В структуре Elf64_Shdr переменная sh_name указывает мне только на индекс в shstrtab. Но это не похоже на индекс в заголовке...
350 просмотров
schedule
09.03.2023
Заголовки программы ELF и виртуальный адрес
Я понимаю ELF и его заголовки программ. Когда я читаю ELF, используя readelf с типом файла как DYN. Я вижу, что значение виртуального адреса в заголовках программ фактически взято из виртуального адресного пространства ядра.
Elf file type is...
309 просмотров
schedule
05.07.2022
что такое поле Value в выводе readelf -s
Вот мой код:
#include <stdio.h>
int variable;
int main(){
printf("%p", &variable);
}
Вывод за пару прогонов:
~ % ./a.out
0x559bae5c4030
~ % ./a.out
0x55b9d1038030
~ %
как видите, в конце обоих адресов есть 30....
58 просмотров
schedule
21.04.2024
что такое раздел .rela.plt в исполняемых объектных файлах?
Я использую статическое связывание для создания исполняемых объектных файлов, и я использую readelf , чтобы проверить файл, и обнаружил, что есть один раздел с именем: .rela.plt
ключевое слово rela указывает на то, что это связано с...
142 просмотров
schedule
01.06.2022
Не можете понять значение «Выкл» раздела в выводе readelf? Это смещение от «Адрес»?
Вот вывод readelf -a test.elf
Section Headers:
[Nr] Name Type Address Off Size ES Flg Lk Inf Al
[ 0] NULL 0000000000000000 000000 000000 00 0 0 0
[ 1] .text...
12 просмотров
schedule
11.12.2023