Эй,
Сегодня я попытался сделать двоичный анализ NDIS.sys, и я заметил кое-что странное.
Я взял функцию и начал ее использовать. Первые 30 байтов были одинаковыми на диске (с использованием IDA) и в памяти (с использованием WinDbg). Затем что-то изменилось. Я видел что-то вроде "jmp _ imp _XXXXX". байты JMP были одинаковыми, но адрес был другим.
Мой вопрос - в чем разница? Я думаю, что это как-то связано с переездом. Хотя переход заключается в адресации в одном и том же модуле, это длинный переход, который делает его относительно базового адреса модуля. Если перемещение произошло, ему также необходимо переместить этот адрес, хотя он находится в том же модуле.
Я прав или полностью неправ? :-)
Спасибо.