Я использую C++ в Linux и не использую библиотеку windows.h
Я вижу следующий пример на github: https://gist.github.com/djhaskin987/d1860a7d98193913bcfa#file-get_exe_version-c-L30
const char *raw = buf + READ_DWORD(sec + 20);
const char *realSec = raw + (rvaInDataDir - virtualArdressSec);
Я хочу добраться до раздела .text, и я вижу rvaInDataDir для .edata, .idata, .pdata, .rsrc ... Но я не вижу rva для .text вDataDir. Как я могу получить RVA?
К сожалению, сначала я пробую только RVA раздела. Этот метод дает мне только ".�9.text" :(. И я читал другой документ, и они говорят, что мне нужно включить RVA для смещения, и я видел этот пример, но этого мне недостаточно.





PE32 не требует конкретных имен для разделов, ".text" - это просто общепринятое соглашение. Это не обязательно. Вам нужно перебрать таблица разделов, чтобы найти его, запись в таблице указывает RVA.