-
Автор темы
- #1
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Привет! Я новичок в реверс-инжиниринге, работаю с дебаггерами не так давно. Гайдов на RU сегменте я так и не нашел, кроме одного видео, где дядька на протяжении 40 минут пытается изменить 1 строку.
Для начала нам нужно найти пустые байты модуля самой программы, а не ntdll.dll и тому подобных (нам нужно переключиться на модуль нашей программы)
Вот так выглядят пустые байты в программе.
Выделяем байты с запасом, чтобы туда уместился наш текст. Жмем правой кнопкой мыши -> Двоичные операции -> Редактировать.
Большинство программ используют UNICODE кодировку, поэтому именно туда мы и будем вписывать наш текст. (если в итоге текст становится иероглифами, пустым или подобной дичью используйте UTF-8). Ждем OK.
Теперь вместо пустых байт у нас появились разные инструкции. Мы должны скопировать адрес самой первой инструкции, которая появилась вместо пустых байт. В моем случае вот она:
Кликаем по ней правой кнопкой мыши -> копировать -> адрес (или жмем Alt + Ins).
Далее нам нужно найти текст, который мы собственно и будем изменять. Кликаем правой кнопкой мыши по любой инструкции -> Поиск в -> Все модули -> Ссылки на строки. Ждем от нескольких секунд до нескольких минут.
Далее поиском мы должны найти интересующую нас строку. После того, как мы ее нашли кликаем по ней два раза, потом во вкладке CPU уже кликаем по ней пробелом (или жмем правой кнопкой мыши -> ассемблировать). В появившемся окне, должно быть поле с текстом аля lea rcx, ds:[0x00007FF773DE5608]. Нам нужна именно эта часть: 0x00007FF773DE5608.
Стираем ее, но оставляем 0x (должно получиться что-то в этом роде lea rcx, ds:[0x]) и после 0x всталяем наш адрес, который вы скопировали ранее. У вас должно получиться примерно lea rcx, ds:[0x00007FF773DE31BE], далее жмем OK. Жмем правой кнопкой мыши по любой инструкции -> исправления -> исправить файл. Сохраняем файл куда угодно. Готово!
Программа до:
Программа после:
PS: Если это можно сделать как-то проще (метод с HEX редакторами не в счет), то напишите в эту тему как. Спасибо!
Для начала нам нужно найти пустые байты модуля самой программы, а не ntdll.dll и тому подобных (нам нужно переключиться на модуль нашей программы)
Вот так выглядят пустые байты в программе.
Выделяем байты с запасом, чтобы туда уместился наш текст. Жмем правой кнопкой мыши -> Двоичные операции -> Редактировать.
Большинство программ используют UNICODE кодировку, поэтому именно туда мы и будем вписывать наш текст. (если в итоге текст становится иероглифами, пустым или подобной дичью используйте UTF-8). Ждем OK.
Теперь вместо пустых байт у нас появились разные инструкции. Мы должны скопировать адрес самой первой инструкции, которая появилась вместо пустых байт. В моем случае вот она:
Кликаем по ней правой кнопкой мыши -> копировать -> адрес (или жмем Alt + Ins).
Далее нам нужно найти текст, который мы собственно и будем изменять. Кликаем правой кнопкой мыши по любой инструкции -> Поиск в -> Все модули -> Ссылки на строки. Ждем от нескольких секунд до нескольких минут.
Далее поиском мы должны найти интересующую нас строку. После того, как мы ее нашли кликаем по ней два раза, потом во вкладке CPU уже кликаем по ней пробелом (или жмем правой кнопкой мыши -> ассемблировать). В появившемся окне, должно быть поле с текстом аля lea rcx, ds:[0x00007FF773DE5608]. Нам нужна именно эта часть: 0x00007FF773DE5608.
Стираем ее, но оставляем 0x (должно получиться что-то в этом роде lea rcx, ds:[0x]) и после 0x всталяем наш адрес, который вы скопировали ранее. У вас должно получиться примерно lea rcx, ds:[0x00007FF773DE31BE], далее жмем OK. Жмем правой кнопкой мыши по любой инструкции -> исправления -> исправить файл. Сохраняем файл куда угодно. Готово!
Программа до:
Пожалуйста, авторизуйтесь для просмотра ссылки.
Программа после:
Пожалуйста, авторизуйтесь для просмотра ссылки.
PS: Если это можно сделать как-то проще (метод с HEX редакторами не в счет), то напишите в эту тему как. Спасибо!