Мы используем приложение на работе, обслуживание которого давно было прекращено, но нам все еще нужно поддерживать. В этом случае это означает реверс-инжиниринг программы. Я использовал ghidra для декомпиляции программы и нашел строку кода, которую я хочу добавить, и где.
Исходная инструкция гласит:
007b6aae 8d 7e 50 LEA EDI,[ESI + 0x50]
Чуть выше я хочу добавить :
[Some offset] 31 f6 XOR ECI,ECI
Гидра не позволит мне сделать это, поэтому я использую редактор необработанных шестнадцатеричных кодов. Проблема в том, что просто вставка байтов до 8d 7e 50
не работает, потому что она путается с инструкцией LEA
, создающей неверный код. Я думаю, что мне нужно поместить новый код с новым смещением, но я не знаю достаточно о hex/assembly
коде, чтобы знать, как это сделать.