Начинающий реверс-инжиниринг
Привет, ребята. Я начал практиковать обратный инжиниринг некоторое время назад. Я много читал о физике этого процесса, а также о различных инструментах, но все еще немного запутался. Поправьте меня, если я ошибаюсь.
Мое понимание: допустим, у меня есть базовая программа, которая является .exe, например (я нахожусь на Windows). Это полностью в машинном коде, который представляет собой просто кучу 1 и 0 буквально. Он явно нечитабелен, и первое, что я делаю, это Запускаю дизассемблер на моем .exe, который превращает его в ассемблер, который вряд ли читается человеком. Последний шаг-запустить декомпилятор по моему выбору, который превращает язык ассемблера в подобие исходного кода на выбранном языке программирования.
Проблемы: теория не очень сложна, тем не менее, когда я начал пытаться обратить вспять некоторые основные .exe-файлы, я столкнулся с большим количеством проблем как в притворстве, так и в декомпиляции. Ранее большинство инструментов всегда говорили, что мои программы имеют какой-то неприемлемый тип, а не CLR, что бы это ни значило. В последнем случае, если мне повезет и я создам какой-нибудь ассемблерный код, ни один из декомпиляторов не захочет его принимать, так как в нем отсутствуют метаданные или что-то еще. Я
Вопрос: если вы знаете, в какой ситуации я нахожусь, пожалуйста, дайте мне свой совет о том, какую комбинацию программного обеспечения лучше всего использовать для обратного хода. Может быть, какие-нибудь великие книги, которые являются окончательными руководствами по обратному пути. Любая, любая помощь будет очень признательна.
Заранее большое спасибо.
Что я уже пробовал:
Декомпиляторы: JustDecompile, Snowman