я же написал - монжо самому перекомпилировать под ту платформу, которая нужна.
> А где Вы такой ld брали? Это под Windows? перекомпилировал кросс-клмпилер под mingw.
mycode.ld: ENTRY(_start); OUTPUT_FORMAT(binary); SECTIONS { . = 0x7C00; .text : AT(0x7C00) { *(.text); }...
можно. используем объект секцию. права доступа на объект настроить только на чтение. а хозяин будет с открытым объектом, доступным на запись
> Т.о., исходя из выше сказанного, по адресу 0000000077692C7A + 0x7a026 должен находится абсолютный адрес __imp_RtlFreeHeap. Идем туда: угу, я его...
> Тогда что с r/m32 r/m32 - абсолютная адресация. в этом одно из отличий 64-битного режима. > но там находится сама функция а не ее RVA. > call...
ты уверен что это сигнатура? то есть у тебя есть несколько экземпляров файлов этого формата и все оин начинаются с данных байт?
чтоб модифицировать исходник нужно знать что в нём. для этого необходимо разобрать каждую строчку, и тогда вопросы отпадут сами.
какая разница про что? если разобрать механизм, то будет видно что имело в виду intel, когда писали "absolute indirect"
r/m64 значит что в регистре/по адресу лежит абсолютный адрес прыжка. однако сам адрес, по которому лежит этот абсолютный адрес для перехода...
там линкер
это описано в куче источников. причём разжевано до невозможности.
5.5 по дефолту умеет сама работать с символами. NT_SYMBOL_PATH мб корявый.
GetModuleHandle("ntdll.dll"); EnumResourceLanguages(..., RT_VERSION, MAKEINTRESOURCE(1), ...); трололо :)
more тоже вполне тащит.
Имена участников (разделяйте запятой).