Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Иногда в мои руки попадают весьма экзотические продукты, для исследования которых отсутствуют проверенные инструменты, а информации о них в интернете — кот наплакал. Давай разберем именно такой случай и расковыряем приложение, созданное в среде WinDev.
Сегодня мы поговорим о французской компании PC SOFT и ее продукте WinDev — среде для разработки СУБД, а также веб- и мобильных приложений. Несмотря на то что создатели изначально замахивались на кросс‑платформенность, продукт получился действительно очень экзотический: он поддерживает всего три национальных языка и за пределами Франции практически неизвестен. Зато, если загуглить по его названию, из выборки картинок можно собрать набор длинноногих девиц для эротического журнала средней степени целомудренности.
Является ли это причиной, почему мировая закулиса усиленно задвигает на задний план продукцию компании и ее фирменный язык программирования WLanguage (или на французский манер — WLangage), — решать тебе, а мы перейдем от лирики к практической задаче.
Итак, у нас есть некое торговое приложение на очень экзотическом языке, при запуске предлагающее ввести серийный номер в ответ на аппаратный ID.
Слегка нервирует тот факт, что формат кода неясен, а при вводе неправильного значения ничего не происходит от слова совсем. Судя по размеру запускаемого модуля (около 300 Кбайт), это просто лаунчер, не содержащий в себе ничего интересного. Detect It Easy нам тоже не помощник — с такой экзотикой это приложение незнакомо.
Определить принадлежность пациента к нашей поликлинике мы можем лишь по косвенным признакам: в комплект входит библиотека WD553HF.dll
, которая гуглится как «движок Hyper File версии 5.5 WinDev», а также весьма увесистый файл с расширением .WDL
, который, по информации с того же сайта, представляет собой основную библиотеку проекта и содержит формы, исполняемый шитый код и прочие используемые ресурсы. И наконец, при беглом просмотре исполняемого файла в Hex-редакторе в юникодном режиме мы видим множественные упоминания WinDev и его служебных библиотек.
Обретенное знание нас мало радует: файл библиотеки .WDL
при ближайшем рассмотрении оказывается запакован или зашифрован, причем этот Джо настолько неуловим, что нагуглить в паблике декомпилятор для актуальной версии невозможно. Видимо, когда‑то давно исходный код WLanguage хранился прямо внутри exe-файла в явном виде (о чем свидетельствует наличие весьма примитивного «декомпилятора», но сейчас эти счастливые времена прошли, и нам снова приходится делать все самостоятельно.
По‑хорошему надо бы разобрать формат WDL и написать собственный декомпилятор, но (учитывая чуть менее чем никакую практическую полезность этого экзотического продукта) снова пойдем путем наименьшего сопротивления — попробуем найти код проверки серийного номера и написать его генератор.
Источник: xakep.ru