e-Book Edit Pro's broken sword

Тема в разделе "WASM.CRYPTO", создана пользователем gazlan, 6 дек 2010.

  1. gazlan

    gazlan Member

    Публикаций:
    0
    Регистрация:
    22 май 2005
    Сообщения:
    414
    Заинтересовался недавно алго, использованным в subj версий 3.21 и 3.31 (других не нашел). Это "компилятор" HTML в исполняемыый файл: e-book player + overlay.

    Сделано на Delphi, т.ч. отстой, как обычно.

    e-book (оверлей) представляет из себя сериализацию главной формы + хлам по мелочи + набор Zip-streams (собственно, контент, упакованный с использованием ZLib 1.13). В опциях можно выбрать защиту либо паролем либо привязкой к компьютеру, при этом в книжку добавляется маркер (в 3.21 "sword" - несомненно, огрызок слова "password", а в 3.31 - само это слово, только задом наперед :) и скрипт, запрашивающий у пользователя ввод регистрационных данных).

    На защиту можно не обращать внимания, поскольку в шифровании данных она не участвует и из 3.21 можно достать все что угодно, правильно разобрав основной Stream. Единственное "препятствие" - слабое шифрование имен файлов (XOR, 8 bits).

    Однако, в версии 3.31, дополнительно к этому реализовано некое подобие block cipher (режим ECB): от нескольких частей основного потока вычисляется MD5, причем предыдущий хэш используется как часть входного потока для следующего, а 32-символьное представление последнего и является (псевдослучайным) ключом для шифратора. Остаток от размера Zip-stream по модулю размера хэша служит индексом к массиву ключа. Выбранный байт (после примитивного хэширования) используется для XOR, а размер декрементируется. Как результат, гамма имеет период всего 256 bits, а файлы одного размера шифруются одинаково.

    Пошарившись в инете, нашел несколько дюжин книжек, сделанных этим компилятором (главным образом, на сайтах, по зарабатыванию денег). Забавно, что _все_ они изготовлены в пиратских версиях компилятора - на покупку лицензии у авторов этих бизнес-учебников не хватило то ли денег, то ли совести, то ли того и другого.

    Для версии 3.21 (без шифрования) мне известны еще два анпакера (eBookRipper от TrueLies & unEbookEdit от Guohua Soft), других анпакеров для 3.31 AFAIK, не существует.

    В эташе альфа версия декомпилятора.