Как стать автором
Обновить

Комментарии 6

Очень интригующая статья.

Это как публикация сообщения которое зашифровано с закрытым ключом, а все обладатели открытого прочли статью и поняли что происходит.

И открытый ключ представляет из себя собственно глубокое понимание ассемблера и желание поковыряться в инструкциях.

Я люблю головоломки. Но тут прям головоломка головоломки.

Вроде как сама задача не сложная взять вот такую хеш функцию.

{XOR1, ROL, ADD, XOR2, XOR1, ROL, XOR2, XOR1, XOR2, XOR1, ROL, XOR2, ROL, ADD, XOR2, ROL};

Реализация каждой из функции есть в статье, но по факту простейшие операции вроде сложения, вычитания, смещения.

И построить к ней обратную.

Что остается зашифрованным так это как взять exe файлик и понять где в нем хеш пароля, где прописан сам алгоритм хеширования и даже как из бинарника получить список инструкций в удобочитаемом ассемблере. Но еще сложнее делать это заведомо понимая, что скорее всего все усилия будут тщетны, так как простейший алгоритм sha1 уже не подастся подобному реверсу. ( не смотря на то что он вроде как считается ненадежным)

А так как дизассемблирование и вообще ассемблер это очень специфическая область знаний то разобраться дано почти что лишь не всем.

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

Спасибо за отзыв :) Здорово, что заинтриговало.

Вы прочли текст, сразу поняли идею, задались вопросами, остались силы написать подробный комментарий :)

Интерес помогает решать сложные задачи. Беда в том, что интерес легко отбить заумными текстами, что с первых страниц сыплют подробностями.

Знатокам скучно читать подробное описание "очевидных" шагов, а непосвященным быстро наскучит продираться сквозь детали. Те и другие бросят чтение после второго абзаца :)

Ассемблер учат и по ходу дизассемблирования: загрузил готовую программу в отладчик и изучай. Учебник по ассемблеру и Intel Software Developers Manual лежат под рукой как справочники.

Инструменты: IDA Pro, OllyDbg, ImmDbg, x64dbg.

Предпринимал много попыток уложить в себя ассемблер. Даже более того проектировал свой простейший процессор. Нельзя сказать что я вообще не подготовлен.

К сожалению, "очевидные" шаги пока кажутся более сложными чем все приведенное описание решения.

Спасибо за набор инструментов.

Жалею о том, что существует этот серьезный провал в доступности туториалов по ассемблеру в сравнении с туторалами по тому же питону и html.

Авторы языка Си проделали много работы, чтобы избавить программисты не писали на ассемблере :) Многие задачи проще решаются на C++, Python. Даже прошивки микроконтроллеров пишут на Си.

Ассемблер пригодится разработчику трансляторов, драйверов, вирусному аналитику, взломщику и спецу по информационной безопасности. Знание языка ничего не дает, если знание не применяется на практике.

Задача определяет требования: появится цель, под нее найдутся инструменты и знания.

Спасибо за интересную статью. Кстати, можете посоветовать какой-нибудь удобный и функциональный HEX-редактор? В различных инструментах реверс-инжиниринга типа IDA Pro зачастую встроенные HEX-редакторы достаточно простенькие и различные полезные и часто используемые операции над бинарными файлами по типу: сохранить выделенный кусок в отдельный файл, добить файл определённым байтом до нужного размера и прочие подобные делаются в них несколько топорно и неудобно.

Запросы к поисковику: freeware hex editor, open source hex editor ;) Например, HxD, XVI32.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории