оригинальная инструкция:
83 F9 05 cmp ecx, 5
Похоже, вы пытаетесь изменить, что в постоянный comaparison, что-то вроде:
83 05 05 cmp 5, 5 ; not what you think it is!
я сомневаюсь, что такое животное даже существует, поскольку его полезность в лучшем случае будет сомнительной. Сравнение двух констант, казалось бы, было бы отходом от кремния.
Что вы на самом деле Фактически смена его на инструкцию, которая почти наверняка вызывает недействительный адрес).
В качестве варианта 1 вы можете заменить эту трехбайтную последовательность на одну, которая устанавливает нулевой бит (так как проверка нескольких инструкций вниз является инструкцией jnz
), и выложите ее с достаточным количеством операций nop
, чтобы сделать ее того же размера ,
Кроме того, обратите внимание на cmp ecx, ecx
заявление (опять-таки с соответствующим nop
кожухами), так что вы можете быть уверены, все флаги установлены правильно. Это, согласно сборщику GNU as
:
39 c9 cmp %ecx, %ecx
90 nop
Cmp ecx, ecx is 83 F9 F9? В любом случае, спасибо за ответ, я понимаю, Моя ошибка –
@Usi, коды операций не так просты, вам нужно получить ассемблер, или IDA Pro должен быть в состоянии сделать это за вас. – paxdiablo