Не могу понять, как правильно рассчитывать смещение при записи jmp near xxxxxxxx в начало API функции. Делаю так: Код (Text): mov eax, OldProc mov byte ptr [eax], 0E9h ;================================ ; Calculate "JMP NEAR" offset in API ;================================ mov esi, NewProc sub esi, OldProc sub esi, 5 bswap esi mov [eax+1], esi NewProc - адрес функции, которой будет передаваться управление, OldProc - соответственно адрес API функции. Допустим, я посчитал смещение в esi и получилось: esi = 8427FEE2 Записал его в начало API функции, получилось: E9 84 27 FE E2 Во время трейса в Olly, обнаруживаю, что он определил инструкцию как: Код (Text): 7C80176B >-E9 8427FEE2 JMP 5F7E3EF4 И далее, конечно переход происходит вникуда, и программа выдает эксепшн. Подскажите пожалуйста, как правильно реализовать jmp near xxxxxxxx в начале похученной API функции