Comments 37
Ждём комментарии авторов. Интересно, такая слабая, можно сказать формальная, защита сознательный ход, типа всё равно сломают?
+2
UFO just landed and posted this here
Судя по тому, что у автора статус регистрации почему-то генерирует программа clang.exe (которая никак в регистрации не участвует на самом деле), до реальной защиты он даже не добрался.
+5
> которая никак в регистрации не участвует на самом деле
Откуда такая уверенность? У них вполне может быть своя сборка кланга, дополненная бледжеком и функциями участия в процессе регистрации
Откуда такая уверенность? У них вполне может быть своя сборка кланга, дополненная бледжеком и функциями участия в процессе регистрации
0
Так просто? А я уже чаек принес :(
+7
уже много месяцев есть даже рабочий кейген в сорцах. Сразу было понятно, что авторы особо не собираются бороться с халявщиками (как и jetbrains, например). Потому что это отнимет больше сил, чем хороший маркетинг
+9
Ждем «Анализ dnSpy средствами PVS Studio»
+23
Эй хакеры, подскажите как ключи распаковывать в ASProtect'e 1.2. А то я тоже хочу убрать защиту заменив формальной(глючит, зараза). А StarForce плохие люди — не говорят. Само собой все ключи у меня есть, я же сам её ставлю. Мне бы только информацию из ключа доставать.
-6
«А это вообще законно?»
Учитывая политику лицензирования PVS-Studio, для них нет причин делать сильную защиту. Одинокие (грустно звучит) разработчики итак споконо могут использовать PVS, а корпоративные всё-равно купят лицензию, чтобы избежать попоболи. Так что не вижу особых проблем для разработчиков из-за столь простого взлома.
Учитывая политику лицензирования PVS-Studio, для них нет причин делать сильную защиту. Одинокие (грустно звучит) разработчики итак споконо могут использовать PVS, а корпоративные всё-равно купят лицензию, чтобы избежать попоболи. Так что не вижу особых проблем для разработчиков из-за столь простого взлома.
+2
Я правильно понял, что минусы дотнета вылезли — простой реверсинг? Можно алгоритмы потащить )
-5
Да что IL, что Java — защиту сделать трудно. Так — для формальности.
Вот в нативном коде — это другое дело.
Самый сложный алгоритм видел в Word 5.
Вот в нативном коде — это другое дело.
Самый сложный алгоритм видел в Word 5.
+3
А почему вы думаете, что в нативном коде легко сделать защиту? Или по другому, почему вы думаете, что в нативном коде трудно разобраться?
0
Потому что возможностей больше в нативном коде.
Ну и примеры всякие смотрю иногда.
Ну и примеры всякие смотрю иногда.
+2
Эм, не знаю как сейчас но года 2 назад смотрел интереса ради триалку для VS, имеющую ограниченное количество запусков. Там она просто в одной ветке реестра хранила счетчик запусков. Ушло минут 10 наверное на все про все.
0
UFO just landed and posted this here
Для вашей программы требуется снять обуфскацию
Есть в паблике утилита https://github.com/saneki/eazdevirt
Она может вытащить код из виртуальной машины
С Уважением Mishar
Есть в паблике утилита https://github.com/saneki/eazdevirt
Она может вытащить код из виртуальной машины
С Уважением Mishar
0
Фиг там. Скорее всего, новая версия обфускатора, которую утилита не знает.
C:\2017-03-05>C:\2017-03-05\eazdevirt-master\bin\Debug\eazdevirt.exe -d TestConsole.exe .___ .__ __ ____ _____ ________ __| _/_______ _|__|_______/ |_ _/ __ \\__ \ \___ // __ |/ __ \ \/ / \_ __ \ __\ \ ___/ / __ \_/ // /_/ \ ___/\ /| || | \/| | \___ >____ /_____ \____ |\___ >\_/ |__||__| |__| \/ \/ \/ \/ \/ Unhandled Exception: System.Exception: Number of found subsequences (DictionaryAddPattern) 0 != 203 (expected value)
0
А de4dot её не берёт? Стабильная версия, правда, давно не обновлялась, лучше собрать свежий из сорцов.
0
Берёт, деобфускация генерит именам классов читаемые названия. Но не расшифровывает строки и не восстанавливает виртуализированный код машины протектора. Всё-таки это универсальный тул, а не заточенный на снятие конкретного протектора.
p.s. eazdevirt основан на dnlib, как и de4dot.
p.s. eazdevirt основан на dnlib, как и de4dot.
0
Выше в комментариях правильно заметили: автор статьи сделал, по сути, косметический кряк. Ограничения при этом наверняка остаются, поскольку необходимо ломать не GUI, а консольную PVS-Studio.exe, в которой и сидит реальная защита.
На ру-борде это и проделывают с каждой выходящей версией.
Вопрос к автору: вы проверяли отсутствие триальных ограничений?
На ру-борде это и проделывают с каждой выходящей версией.
Вопрос к автору: вы проверяли отсутствие триальных ограничений?
+2
Разберем код запускается программа «clang.exe»
Не clang.exe, а лежащая рядом с ним PVS-Studio.exe.
0
Ну фу же. Нашли дырку — сообщите автору. Как исправят или проигнорируют — публикуйте. Неужели так сложно?
А тут — сломали гуй очевидным и скучным образом и побежали хвастаться тем, что сломали кусок необфусцированного кода… Детство какое-то.
А тут — сломали гуй очевидным и скучным образом и побежали хвастаться тем, что сломали кусок необфусцированного кода… Детство какое-то.
+8
Детство, не детство — а инвайт он походу за эту статью получил :)
шутка по теме
В магазин приходит маленький Мойше.
— Мне три литра мёда, протягивает он банку продавщице. Та наливает полную банку.
— А папа завтра придёт и заплатит.
— Ну нет, — забирает у него банку продавщица и выливает обратно мёд.
Мойше выходит на улицу и заглядывает в банку: — Папа был прав, тут хватит на два бутерброда.
— Мне три литра мёда, протягивает он банку продавщице. Та наливает полную банку.
— А папа завтра придёт и заплатит.
— Ну нет, — забирает у него банку продавщица и выливает обратно мёд.
Мойше выходит на улицу и заглядывает в банку: — Папа был прав, тут хватит на два бутерброда.
+11
Здравствуйте отвечу сразу всем в одном комментарии
1. Триал ограничения
Они все сняты так как в самом коде программы есть проверки на наличия триала вот в таком виде
Как ранее я показывал что через патч присуждает LicenseInfo.RegistrationStates.Valid значит где есть такие проверки везде программа пройдет как валидная без каких либо нареканий
На разных система запускаются разные файлы это я говорю про подпрограмму clang.exe там есть архитектура для системы X64 X86
Спасибо за понимание с уважением Mishar
1. Триал ограничения
Они все сняты так как в самом коде программы есть проверки на наличия триала вот в таком виде
Как ранее я показывал что через патч присуждает LicenseInfo.RegistrationStates.Valid значит где есть такие проверки везде программа пройдет как валидная без каких либо нареканий
На разных система запускаются разные файлы это я говорю про подпрограмму clang.exe там есть архитектура для системы X64 X86
Спасибо за понимание с уважением Mishar
-3
Настоящие проверки не в Standalone.exe. Настоящие проверки в PVS-Studio.exe, которая написана на С++
программа пройдет как валидная без каких либо нареканийТолько визуально.
+1
Продублирую тут свой ответ вам в личку, мне кажется, что читателям будет полезно:
Standalone.exe — С#, GUI-ёвая графическая обвязка вокруг консольной С++-ной PVS-Studio.exe.
Когда мы вводим имя и серийник в Standalone.exe, она просто их отправляет в консольную PVS-Studio.exe. Она их не проверяет на валидность. Не высчитывает, соответствует ли имя серийнику. В консольной части происходит реальная проверка, после чего консольная PVS-Studio.exe отправляет Standalone.exe ответ в духе «всё ок» или «всё плохо, серийник не валидный». И Standalone.exe просто проверяет, какой ответ ей пришёл: хороший или плохой. Чтобы показать статус регистрации. Т.е., можно провести такую параллель: Standalone.exe это что-то типа About, где выводится имя юзера. А вот консольную PVS-Studio.exe не патчили, она при каждой своей работе (при анализе исходников) проверяет валидны ли сохранённые серийник и имя. А так как они не валидные, то она урезает свою функциональность.
Standalone.exe — С#, GUI-ёвая графическая обвязка вокруг консольной С++-ной PVS-Studio.exe.
Когда мы вводим имя и серийник в Standalone.exe, она просто их отправляет в консольную PVS-Studio.exe. Она их не проверяет на валидность. Не высчитывает, соответствует ли имя серийнику. В консольной части происходит реальная проверка, после чего консольная PVS-Studio.exe отправляет Standalone.exe ответ в духе «всё ок» или «всё плохо, серийник не валидный». И Standalone.exe просто проверяет, какой ответ ей пришёл: хороший или плохой. Чтобы показать статус регистрации. Т.е., можно провести такую параллель: Standalone.exe это что-то типа About, где выводится имя юзера. А вот консольную PVS-Studio.exe не патчили, она при каждой своей работе (при анализе исходников) проверяет валидны ли сохранённые серийник и имя. А так как они не валидные, то она урезает свою функциональность.
+2
Sign up to leave a comment.
Исследование защиты PVS-Studio