Замена строки XORed в исполняемой (x86) - PullRequest
1 голос
/ 08 марта 2011

У меня есть исполняемый файл, который я пытаюсь исправить. Исполняемый файл хранит строки с использованием шифрования XOR. Я использовал XORSearch, чтобы найти нужную строку. Вернуло:

Найдено положение XOR FD 3E22:

Теперь я бы хотел изменить эту строку. Я предполагаю, что «FD» является ключом xor, поэтому, если я заскорю новую строку с помощью FD, у меня будет возможность исправить исполняемый файл. Проблема: я не могу найти место в исполняемом файле. Я не уверен, что означает позиция 3E22.

Пожалуйста, помогите!

Ответы [ 2 ]

1 голос
/ 08 марта 2011

Позиция 3E22 является шестнадцатеричной и означает байт 15906 с начала.

0 голосов
/ 08 марта 2011

это зависит от того, перемещается ли ваш код или нет. обычно хорошие программисты делают код, который можно перенастраивать, потому что он экономит место, например, при использовании условий ветвления. То, что вы хотите, это сначала переместить код, а затем исправить код в этой позиции. но такой код XOR может быть легко сломан с помощью статистического анализа. у тебя есть ключ?

...