Добавить инструкцию в скомпилированный x86 exe - PullRequest
0 голосов
/ 19 февраля 2020

Мы используем приложение на работе, обслуживание которого давно было прекращено, но нам все еще нужно поддерживать. В этом случае это означает реверс-инжиниринг программы. Я использовал ghidra для декомпиляции программы и нашел строку кода, которую я хочу добавить, и где.

Исходная инструкция гласит:

007b6aae 8d 7e 50        LEA        EDI,[ESI + 0x50]

Чуть выше я хочу добавить :

[Some offset] 31 f6      XOR        ECI,ECI

Гидра не позволит мне сделать это, поэтому я использую редактор необработанных шестнадцатеричных кодов. Проблема в том, что просто вставка байтов до 8d 7e 50 не работает, потому что она путается с инструкцией LEA, создающей неверный код. Я думаю, что мне нужно поместить новый код с новым смещением, но я не знаю достаточно о hex/assembly коде, чтобы знать, как это сделать.

...