@Kaktys_DH

Как работают программы для реверс-инженеринга?

как работают программы которые делают реверс-инжиниринг? И почему они превращают в разные ассемблеры от чего зависит превращение в тот или иной ассамблер? Если ты знаете статью как работают программы которые из обычного кода превращают код в ассемблер, то скиньте ссылку на них. Спасибо
  • Вопрос задан
  • 174 просмотра
Пригласить эксперта
Ответы на вопрос 2
saboteur_kiev
@saboteur_kiev
software engineer
обычного кода превращают код в ассемблер

Обычный код это практически и есть ассемблер.
Процесс называется декомпиляция.
Умеет практически любой отладчик.

Программ для "реверс инженеринга" не существует. Есть программы для отладки. Те, кто знает как работают различные системы и протоколы, могут использовать их для реверс-инженеринга.

Парень. Не существует программы, которая за тебя все похакает. Нужно учить очень много, и для начала просто научиться программировать хоть на чем-нибудь.

Ты задаешь уже шестой не очень умный вопрос, на который ЛЕГКО найти готовый ответ, если воспользоваться поиском. Но тебе видимо лень. Именно это и показатель, что у тебя вряд ли что-то получится. Слишком ленивый для обучения.
Ответ написан
@Danil6969
Reverse engineer (native & managed)
На примере Ghidra: сперва идёт поиск паттернов машинного кода (должны совпасть ключевые значения вроде опкодов, для этого составляется маска инструкции, затем необходимое целевое значение, полученное побитовым И с маской), затем подходящий паттерн преобразуется в две строки. Первая - заголовок, подаётся в дизассемблер, содержит мнемонику и операнды, в Ghidra используются спецификации на языке Sleigh. Но это так, для разминки, поскольку дизасм читать нереально, вот тут и было придумано промежуточное представление. Суть в том, что каждая инструкция - микрофункция, содержащая код (например, на языке Pcode, как в Ghidra). Затем он посылается в декомпилятор и поднимается до финального кода на C.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы