Допустим дебажу я досовскую прогу и вижу в ней какой-нибудь условный переход который мне нужно исправить на безусловный. Но загвоздка в том, что в памяти это переход находится по адресу допустим 2A30:31F5, а в файле скажем по смещению 156AE. Пока такие места нахожу в Hiew по сигнатуре т.е. смотрю как это выгляди в шестнадцатиричном коде и ищу в файле. Пока прокатывает. НО бывает возникает проблема другого толка. Допустим у нас не переход а межсегментный вызов процедуры. Под софтайсом он выглядит Push 0080 Call 2E85:0287 а в файле Push 0080 CALL 0FA8:0287 налицо различие Вопрос: наиболее просто находить такие сответствия?
Код команды call far - 9Ah, потом идет смещение и сегмент. Так как смещение под софтайсом и в файле одинаковое для данного случая можешь искать в Hiew подстроку: 9A8702 Если задействовать в поиске команду push 0080 (она тоже одинакова), то в зависимости от ее кодирования (учета размерности заносимого в стек операнда) строка для поска будет: 6A809A8702 - если в стек заносится байт, или: 6880009A8702 - если в стек заносится слово.