Comments 119
UFO landed and left these words here
Тяжело не почить, особенно когда для твоего прота есть автоанпакер.
Тот анпакер, о котором Вы говорите не решал всех вопросов с execryptor'ом, деобфускатора там нет, т.е. при грамотном подходе к защите распаковка практически не снижает защищённость приложения.
Мы оба про решение от RSI говорим? Относительно грамотного подхода к защите целиком согласен, народ покупает проты, но совершенно неадекватно их использует, так было еще со времен ASProtect'a, который, при грамотном подходе защищающего, тоже не просто снять.
Верно понял, мы говорим про анпакер от рси) аспр во все времена хорошо снимался, когда вм ввели были некоторые проблемы, но вм быстро расколупали и нормально декомпилируют сейчас.
Да ну вас, BiTHacK :) У вас, понятное дело, все просто снималось во все времена, а я тогда только начинал погружался в RE. Мое уважением вам и вашей команде.
Все, понял о чем вы. Действительно при грамотном подходе защищающегося анпакер не особо поможет, но когда прот тупо навешан? А таких примеров большинство. Мои задачи всегда покрывались, для меня самое важное — ресурсы приложения и анализ используемых технологий. Обычно это delphi application на который повесили то, что нашли в свободном доступе.
когда прот тупо навешан это во всех случаях заранее проигранная война, но если правильно использована вм или морф кода (хороший морф), тогда, как правило, на исследование уходит много времени (криптор ломается даже при грамотном навешивании, но исследовать километровые листинги очень проблематично, уходит порой несколько дней).
У него были большие проблемы с совместимостью. Сначала использовал ExeCryptor, но после многочисленных жалоб от пользователей перешел на Themida… о чем не желаю.
UFO landed and left these words here
UFO landed and left these words here
Я думаю, что навесная защита не представляет собой проблемы для опытного хакера не только в Themida. Во всех нормальных руководствах по защите об этом, пусть косвенно, но сказано.
UFO landed and left these words here
Думаю, вполне. Эти утилиты ведь позволяют запускать внешние приложения? Никаких специальных возможностей для интеграции в билд-утилиты Темида не имеет. Просто позволяет запустить процесс защиты с командной строки.
UFO landed and left these words here
Сколько лет слышу о темиде — столько лет они все планируют добавить поддержку х64. Так что есть большая вероятность, что это так и останется несбывшейся мечтой Рафаэля.
Есть очень хороший и малоизвестный прот — Enigma Protector, на данный момент не слышно даже о его приватных анпакерах.
enigmaprotector.com
Скорее всего, просто не понятна причина отсутствия данной известности.
Я правильно понимаю, что сия вундервафля напрочь ломает совместимость с Mono? Если так, то ну его нафиг, у нас продукт под маки и линуха выпускается.
Если у вас продукт под Маки и под Linux, то Win32-only протектор вам точно не нужен :) Под Linux, правда, защищенное приложение можно будет под Wine запустить.

Совместимость она не ломает, просто exe перестает быть .NET сборкой и начинает работать только под Win32 или эмуляторами.
Прога работает везде, куда можно воткнуть GTK#. Сейчас сидим на дотфускаторе, пока всем довольны. А по поводу wine, у вас же .NET всё равно используется как-то, а он под вайном пока что работает отвратительно.
Да, согласен. Но обфускация и то, что делает Themida — это принципиально разные вещи. Под .NET принципы Themida уже не работают. IL-то не виртуализируешь так, чтобы сборка осталась управляемой. Содержимое тоже не зашифруешь, чтобы сборка грузилась как .NET. Единственный выход — обфускация кода.
Честно говоря, до сих пор я думал, что один Рафаэль. Но, отвечая на один из моих вопросов, он упомянул про изменение в составе разработчиков… Так что теперь непонятно :)
Снимают, только в путь. «Не панацея, к сожалению.» говорит моя светлая сторона. «Или к счастью» злорадно ухмыляется темная.
Проблема в том, что после обработки протектором, большинство антивирусов находит в файле ту или иную заразу. Выход — custom-билды. Точнее после многочисленных просьб разработчики могут скинуть специальную версию Themida с большим числом дополнительных параметров, изменяя которые, можно добиться требуемого результата (отсутствия ложных срабатываний). Но эту версию сначала надо допроситься, а потом еще найти нужную комбинацию параметров.
Большей частью эту сказку пустили вирусописатели. В большинстве взломщиков на самом деле есть трояны — это видно под виртуальной машиной и параноидальном режиме антивируса (если смотреть к каким компонентам ОС обращается взломщик). А на протекторы антивирусы срабатывают предупреждением о протекторе — сильно разные вещи.
Хех, особенно если паленый (скарженный / ломанный) прот используется. Все-таки с годами авторы крупных протекторов вроде бы нашли общий язык с АВ-индустрией.
Нашли. И очень забавно наблюдать софт ценой не один килобакс, который защищен хаканой фемидой. Ну, в общем они сами себе проблем тем самым создали.
Вот, о чем и речь, спасибо за пруф из первых рук :)

А иначе и быть не могло, АВ же не монстры какие-то. Тем более это взаимовыгодное сотрудничество. Утек свежий билд вмпрота (к примеру), есть вероятность что киддисы будут его на свои поделки накладывать. Сигнатурки / ватермарки улетают от Дерматолога в Dr.Web, киддисы и нелегалы караются анально, мир спокойнее, все довольны.
Дык не поверят же! Шарашкины конторы (которые называть не будем ;-) могут детектить любую фемиду/вмпрот.
Пульните в личку, если не затруднит, кто это так умудряется. Детектят, мол, потенциально опасно / какой-нить генерик / или умудряются еще и в базе найти? ))
Да я б с радостью, да легальную фемиду мне найти, сами понимаете, не так просто сходу. Но точно видел детекты пакеров.
Совершенно верно, детекты есть. Вроде PEID. Надо, кстати, проверить. Темида умеет прятаться от детекторов. В интерфейсе есть настройка. Проверю как-нибудь, насколько это эффективно.
PEiD то тут откуда? vilgeforce имел в виду среди АВ представителей.
Вообще, Themida подписывает каждый защищенный файл ключом владельца. Если владелец объявляет ключ украденным, Касперский, например, начинает обнаруживать в совершенно невинном файле Win32.Black.a. Если ключ белый, украденным не заявлен, большинство антивирусов реагирует нормально. Во всяком случае, Каспер — точно. Могу дать безобидный exe потестить.

Разработчики протекторов тесно сотрудничают с производителями антивирусов и добавляют в свои антивирусные базы сигнатуры подписей ключей, заявленных как украденные.
Я уже 3 года являюсь владельцем лицензии на Themida, ни один раз общался напрямую с разработчиками. Свой ключ никому не давал. При проверки на virustotal программа без каких-либо заморочек собирала целую коллекцию «наград». В итоге, мне дали возможность изменять дополнительные параметры протектора. И только после многочисленных проб удалось нужной комбинацией параметров исключить ложные срабатывания. И периодически приходится их подкручивать.
Ну хоть вы то скажите, кто из списка virustotal'а палит лицензионно чистую Themid'у?
Вот сейчас создал пустую форму и обработал протектором. Загрузил файл на virustotal, жду, пока подойдет очередь (пока #3123). Как будет результат, скопирую сюда ссылку.
А на кого вешали прот? На чистый каркас или реальное приложение? Думаю на реальной софтине (к примеру, delphi с кучей компонентов, fastmm, fastcode и madExcept'ом) может быть чууток иная ситуация по кол-ву фальш срабатываний, но приведенное вами все равно близко к реалиям. Спасибо, лишний раз убедился, что у нормальных АВ с нормальными протами все налажено как надо.

PS. Sunbelt (ужос), версии 3.9.2456.2, сканировал ~23 ед. времени (судя по всему секунды!) и нашел троя с управлением по irc.
Просто на приложение с одной формой и одной кнопкой на форме. Я думаю, на любой софтине будет все примерно одинаково, поскольку все равно все шифровано внутри. Антивирусники ведь не загружают exe как Windows. В лучшем случае немного кода через эмулятор проца пропускают.
А есои взять несколько разных приложений запаковать и сравнить детекты, а потом и сами файлы?
Хм. Возможно, тот был записан так, чтобы только на него был детект. Но это еще менее понятно…
Странно. Я бы сказал, что тот первый детект двумя вендорами делался именно по тому файлу, что вы отправляли. Но вряд ли он у вендоров был :-)
От кого награды-то были? Касперский, Веб и Аваст вроде бы без проблем пропускают. Кроме того, нужно обращать внимание, что именно детектит антивирус. Часто Themida определяется как Packed.Themida или просто Packed.XXX. Конечно же, это не вирус. Всякие упаковщики вроде Pklite тоже так определялись.
Весь мир движется в сторону открытости, OpenSource, новых моделей ведения бизнеса и получения прибылей — мы же упорно покупаем «протекторы», прячем свой код и сами себя загоняем в угол зависимостей. Just as planned.

З.Ы. Очень уж холиварная заметка будет.
Протектор хорош, но его антивирусы не очень любят. А потом объясните клиенту почему.
Античит темидой накрыт или что? с играми NCsoft знаком, но что именно вы имеете в виду?
на файлы приложения антивирусы ругаются. Это был лишь пример. Потом возникают лишние вопросы, что, почему срабатывает антивирус. Рядовым пользователям нужно само приложение, остальное их не волнует.
Прошу прощение, дайте более конкретный пример. Какой АВ и какие файлы какого приложения.
Eur. и Usa. игровой клиент Lineage, файл L2.exe, антивирус KIS. На данный момент точной информацией не владею.

пробуйте Google «l2.exe themida virus»
Если только совсем уж от шарашкиных контор. Крупные вендоры детектят ломаную фемиду, кто ее юзает — ССЗБ.
Полностью его анпакать довольно сложно, хотя есть люди которые разбирают его по косточкам, starforce же trivium разобрали (кстати, большую роль там сыграл один российский реверсер).

Последний раз я разбирался с winlicense версии 2.1.0.1 (вроде бы), инлайн патч HWID занял не слишком много времени, хотя там конечно не так все тривиально как во многих других протах.

Один из самых сложных для разбора протекторов, из свободно продаваемых.
Ну… Не панацея. Дамп, конечно, работать не будет, но что-то и из дампа можно достать.
Да ну вы что :), все ресурсы и строки шифруются.
Все, что вы увидите в дампе — это пикод ВМ и тушку протектора.
Взял DLL, загрузил, дампанул PE Explorer'ом. Четко вижу, что это дельфятина, названия классов, строки и т.д.

Themida Professional, 2010 и все такое.
Ну дык, там достаточно много опций защиты, в том числе антидамп, шифровка ресурсов, защита форм delphi в частности и многое другое. Что вас заставило думать, что ваша DLL протектилась со всеми опциями?
Что vilgeforce заставило думать, что она вообще протектилась, мне интересно?
То есть, DLL, о которой речь идет, не была упакована протектором и вы просто положились на свой опыт?
«использование ей в работе строки Themida Professional» — было ведь написано. И как, кстати, определять наличие фемиды в упакованном файле, если приведенных критериев недостаточно? :-)
А что, PEiD в др. вебе не используют?
Насчет строки… не знаю, themida часто определяется тем, что он орет на отладчик и просит отправить письмо в ореанс, не любит драйвер filemon'а, рандомные имена секций… вообщем, вариантов много.
PEiD нам не нужен: 95% пакеров показывает сам движок, да еще и распаковывает автоматом. Остается Фемида, которую в эмуляторе видно сразу, Армадилло, который сигнатурно можно детектить и совсем уж экзотика.

В той DLL фемида была. Завтра специально посмотрю, кажись она через DbgPrint пишет про себя.
Да вообще, протекторы которые добавляют еще с мегабайт-два веса… вешать на зловреды… это моветон :)

Ну, а 95% пакеров… я так понимаю, это крипторы самописные?
Моветон, но есть троянцы бразильские, которые в паканом виде 7-8 метров занимают.
95% — это как что-то общеизвестное, PECompact, Yoda, aspack и иже с ними. Приватные по именам не детектим, ну их.
Ничего не заставляло. Я всего лишь сообщил об обычном явлении: возможности фемиду сдампить.
Если быть поконкретнее — то что написано в ридми по поводу антидампа с приведенным скрином пустого хедера в памяти — остаток старого ридми xtreme protector'a, где это реализовывалось драйвером. Собственно толку от этого тоже получилось не много, ровно как и с CopyMem(II) у Armadillo — всё успешно дампилось внедрением дллки с дампером в сдампливаемый процесс.
Нет — защита на чтение памяти/выдача нулей вместо реальных данных для любых процессов кроме текущего.
Скрин с опциями протекции у Themida покажите.
А о каком дампе у PE Explorer'a идет речь, он же все в статике раскладывает, да и dll loader'у там взяться неоткуда.
Да откуда ж я его возьму? Троянописатели его со своими поделиями не распространяют :-(
PE Explorer, да, мог с чем-то попутать. Сейчас не на работе, завтра точно скажу что там было. Каюсь, но дамп все равно был :-)
Вероятно да. За калькулятор спасибо, завтра посмотрю как наша тулза с ним справиться и что в дампе будет.
Утилита говорите… хехе
Где-то был блокнот запакованный starforce v3, посмотрел бы я на вашу утилиту :)
может выложит кто-то, а то я не нашел.
Утилита фемиду проходит в автоматическом режиме до состояния, когда ее можно дампить, зря смеетесь :-)
Да не сомневаюсь, что у больших антивирусных компаний есть хорошие приватные утилиты для автоматизации, но генерик анпак и третий старфорс… не знаю, я видел приватные утилиты которые смогут анпакнуть starforce в автоматическом режиме, но только basic версию.
Старфорс я мог вообще не видеть. Он насколько распространен в среде не-разработчиков, его честно купивших?
Да вообще никак не распространен, они же протектят все исполнительные файлы — на своем сервере.

А как же так, не видеть? хотя бы ради чисто реверсерского интереса глянуть… крутой прот же, там даже если сдампишь — на другой машине не заработает :)
Я протекторы не особо люблю. Autoit делал, Exescript делал… Сейчас вот DEX андроидовский вялотечет… Я больше внутренности ковыряю у троянов, а не пакеры.
Проходится тулзой. Не автоматом, приходится иногда кнопочку жать, но проходится. DLL, кста, была более поздней версией защищена. В этом семпле 2009й год прописан:
Themida Professional
©2009 Oreans Technologies
Я повседневно сталкиваюсь с протекторами и скажу одно — у темиды в ридми много преувличений/недароботок/старой инфы. Версия 2.1.1.0 отлично дампится, ровно как и распаковывается скриптом SnD от 9 октября, который в добавок отлично фиксапит коде реплейсы. А ВМ ручками разбирать, от этого никуда не деться, или же дампить ее отдельно и цеплять к уже обработанному ехешнику. Я практически уверен, что с 2.1.3.0 ситуация аналогичная.
Вопрос не однозначный, да, всем ясно — если софт популярный… вы хоть solidshield, хоть starforce вешайте — не поможет.

С другой, это все равно отсеивает часть любопытных, а например полностью декомпилировать пикод виртуальной машины это гораздо менее тривиальная задача, чем просто написать кряк… а значит код программы так просто посмотреть и изучить не получится.
Во времена SaaS, распределенных приложений и т.д. и т.п. ИМХО можно не заморачиваться такими вещами. Особенно если есть риск потерять часть пользователей потому что антивирус назвал ваш продукт трояном.
Поправьте если я ошибаюсь, но вроде продукты топовых корпораций не «защищаются» таким образом, и ничего, зарабатывают вроде.
Затем, что это сильно затрудняет жизнь взломщикам. В области, в которой я работаю, правда, Themida одну не используют. Обычно на пару с донглом каким-нибудь, в который можно поместить часть логики работы (Ява карты обычно). Достаточно много проектов используют такую схему работы и зарабатывают довольно-таки большие деньги.
Вообще да, если часть кода выполняется на токене, то это довольно сильно затрудняет реверс, ибо когда на чипе стоит флаг, то прошивку его снять довольно сложно, хотя… хоть в России я подобных сервисов не видел, китайцы это делают.
Снять прошивку нормальной явакарты очень и очень трудно (если карта защищена, конечно). Думаю, такое под силу только высокотехнологичным институтам, которых в мире единицы. Некоторые явакарты используются Visa в качестве электронных кошельков, средств аутентификации, цифровых подписей и так далее. Во всяком случае, карты вроде Gemalto egate и Gemalto TOP не читаются.
А… так вы про смарт-карты, но ведь в плане выполнения кода — они довольно сильно ограничены? я говорил про чипы типа PIC, Atmel.
Да, производительность у них не ахти. Правда, за счет наличия криптографических сопроцессоров они все же полезны
Я так мыслю для .Net оно ничем не лучше других… а возможно и хуже.
Жаль автор не описал подробные ее возможности с работы с Net.
А их там и нет, в данном случае прот работает лишь как оболочка и никак не встраивается в сам код. Возможно новые версии криптуют строки.
> Themida умеет защищать формы Delphi/C++ Builder от специальным образом.
Все татарин кроме я
Themida довольно дорогое удовольствие, я выбрал отечественный VMProtect.
Когда у вмпорта появилась своя система лицензирования — стало идеальным решением на данный момент. Однозначно VMProtect.
Я тоже проголосую за VMProtect! Особенно за версию VMProtect SenseLock Edition (это версия с электронным ключом SenseLock). Закрывает продукт намертво :) Снимать даже никто не берется.
В смысле? Был ведь результат на тот момент. Я не к тому, что VMProtect слабую защиту дает, а к тому, что все же берутся его ломать. Не такой уж он и неприступный совсем, чтобы никто даже не брался.

Жаль, кстати, что поверх него больше Themida не положить. Раньше можно было…
Результат в декомпиляторе вм вмпротекта, публичных тулз не видел, но приватные есть. Аналогично для вм фимы.
Only those users with full accounts are able to leave comments. Log in, please.