Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Внизаналог AsProtect Найти похожие ветки
← →
Max (2012-05-15 16:22) [0]Существует ли более дешевый аналог asprotect с подобным функционалом? Для меня 115евро в год это дофига, относительно того, что необходимо. Идеально было бы в виде компонента и лизенция, которая не ограничена во времени
← →
brother © (2012-05-15 17:45) [1]нет, шибко много хочешь!
← →
Max (2012-05-15 17:59) [2]почему много?
← →
Max (2012-05-15 18:02) [3]Вот, нашел
http://www.pelock.com/products/pelock/buy
89 баксов на неограниченный период. Кто-то юзал?
← →
brother © (2012-05-15 18:32) [4]> Вот, нашел
если что-то нашел, зачем спрашиваешь?
← →
Max (2012-05-15 18:44) [5]> если что-то нашел, зачем спрашиваешь?
странный вопрос. asprotect уже изучен вдоль и поперек, в том числе и тут об этом писали. а устойчивость к взлому и удобство пользования того софта для меня не известно. поэтому интересуюсь, может кто уже пользовался
← →
Anatoly Podgoretsky © (2012-05-15 19:01) [6]> Max (15.05.2012 18:02:03) [3]
Не только не использовал (“юзал”), но и не слышал
← →
Anatoly Podgoretsky © (2012-05-15 19:05) [7]> Anatoly Podgoretsky (15.05.2012 19:01:06) [6]
И сомневаюсь насчет качественной и своевременной поддержки, поскольку
одиночка. Пусть хотя бы дорастет до asprotect. Солодовников тоже начинал с
одиночки хакера.
← →
Max (2012-05-15 19:10) [8]Ясно. Спасибо Анатолий. Видимо придется самому что-то на коленке сделать. Для меня сейчас покупать asprotect это как по воробьям из пушки
← →
Rouse_ © (2012-05-15 19:11) [9]Ну так и PELock давным давно разобран: http://exelab.ru/rar/dl/CRACKLAB.rU_28.rar
← →
Max (2012-05-15 19:13) [10]Rouse_, прав был Анатолий:)
← →
brother © (2012-05-15 19:24) [11]прав был я, ибо вопрос не имеет решения, в [4] я об этом намекнул...
← →
Anatoly Podgoretsky © (2012-05-15 19:44) [12]> Max (15.05.2012 19:10:08) [8]
Продуктов для защиты так много, что глаза разбегаются.
← →
Германн © (2012-05-15 19:59) [13]
> Продуктов для защиты так много
Решений для взлома не меньше :)
← →
Anatoly Podgoretsky © (2012-05-15 20:14) [14]> Германн (15.05.2012 19:59:13) [13]
Все навесные продукты взломаны
← →
Kerk © (2012-05-16 00:16) [15]Если ты продаешь в год столько копий софтины, что для тебя 115 евро дофига, то может проще вообще не защищать её совсем?
← →
Kerk © (2012-05-16 00:17) [16]Ну или действительно сделать что-то простое наколенчатое.
← →
Германн © (2012-05-16 02:44) [17]
> Ну или действительно сделать что-то простое наколенчатое.
Ну разве что для удовлетворения внутреннего ЭГО.
Да простит меня Розыч. :)
← →
alexdn © (2012-05-16 03:43) [18]> Rouse_ © (15.05.12 19:11) [9]
> Ну так и PELock давным давно разобран: http://exelab.ru/rar/dl/CRACKLAB.
> rU_28.rar
Нод 32 адрес заблокировал) тоже для защиты видимо..)
← →
Max (2012-05-16 17:41) [19]> Kerk,
> Если ты продаешь в год столько копий софтины, что для тебя 115 евро дофига, > то может проще вообще не защищать её совсем?
я ее не продаю вообще. скажем так, есть группа, внутри которой распространяется софт бесплатно. важно, что бы он никуда не вышел за пределы группы. по поводу 115 евро в год - понятно, что при определенном количестве копий оно будет иметь смысл, но для меня сейчас - нет. если найду нормальную защиту до $100 за анлим лицензию - куплю. оно будет полезно для остального софта, который время от времени продаю
← →
Rouse_ © (2012-05-16 18:05) [20]
> Max (16.05.12 17:41) [19]
Покриптуй кусок кода (ресурсов), при старте его распаковывай. Для привязки к железу будет достаточно.
логика следующая:
1. выбираем ключ, например 111
2. им шифруем нужный кусок, и релизим экзешник с этим шифрованным блоком.
3. Пользователь запускает экзешник, мы при старте приложения берем HWID биоса/процессора и т.п. и отображаем. Это число пользователь отправляет разработчику (тебе тобишь). Число например 222.
4. Ты генерируешь код активации и отправляешь его пользователю.
При помощи кода активации, проведя определенную матоперацию над HWID мы получим изначальный ключ.
например матоперация у нас банальный XOR, тогда код активации у нас будет 177
(222 xor 177 = 111)
5. Пользователь вводит код активации, мы вытаскиваем код, которым зашифрованы данные, расшифровываем и работаем как обычно.
все это дело под фришный UPX, от начинающих хватит за глаза...
Вешать на это дело что-то более серьезное не вижу смысла - ну по крайней мере ты не озвучил ни одной серьезной причины для необходимости более серьезной защиты.
← →
Max (2012-05-16 19:18) [21]"1. выбираем ключ, например 111
2. им шифруем нужный кусок, и релизим экзешник с этим шифрованным блоком.
3. Пользователь запускает экзешник, мы при старте приложения берем HWID биоса/процессора и т.п. и отображаем. Это число пользователь отправляет разработчику (тебе тобишь). Число например 222.
4. Ты генерируешь код активации и отправляешь его пользователю"
Приблизительно так и было до недавнего времени, пока другой знакомый за несколько дней защиту не снял, дабы мне показать, что нужно усиливать защиту :) После чего вся эта возня и пошла. Короче, за пару дней усиленного копания в теме и изучения хакерских сайтов была найдена утилита vmprotect. Сюдя по информации с wasm.ru взлом софта, правильно накрытого vmprotect-ом, представляет собой задачу весьма нетривиальную. Что оно из себя представляет "Основными методами защиты программного кода, применяемыми VMProtect, являются виртуализация, мутация и смешанный метод защиты, сочетающий мутацию кода приложения с его последующей виртуализацией". Анпакер на VMProtect, я нашел только на древнюю версию 1.1, что намекает как бы
подробности тут
http://rentsoft.ru/help/vmprotect/about_vmprotect.htm
попытки взлома
http://www.wasm.ru/forum/viewtopic.php?id=32464&p=1
теперь, как я вижу реализацию защиты софта с vmprotect-ом
1. Юзеру отправляем демо-версию, физически не содержащую в коде всей необходимой логики. В демо-версию включаем процедуру, которая генерит строку, привязанную к железу юзера (либо берет код с хардварной usb железки и тому подобное - тут по вкусу). Строка отправляется разработчику
2. В коде, непосредственно в процедурах проверки, сохраняем эту строку, полученную от юзера. Встраиваем множественные проверки на соответствие железа сохраненным данным. В том числе делаем отложенные проверки. Собираем полноценную версию, закрываем все процедуры проверки vmprotect-ом. В том числе, возможно, закрываем некоторые алгоритмы. Отсылаем пользователю. То есть по сути взлом программы свели к взлому самого vmprotect, либо к эмуляции железа пользователя на другой машине
Что скажете?
← →
Max (2012-05-16 19:26) [22]
> ну по крайней мере ты не озвучил ни одной серьезной причины
> для необходимости более серьезной защиты
причина, как уже писал, необходимость ограничить использования софта небольшой группой людей. коммерческого интереса в данном случае нет, но есть необходимость защитить авторский алгоритм
← →
brother © (2012-05-16 19:35) [23]> 5. Пользователь вводит код активации, мы вытаскиваем код,
> которым зашифрованы данные, расшифровываем и работаем как
> обычно.
те в любом случае if then ?
← →
Rouse_ © (2012-05-16 20:34) [24]
> 2. В коде, непосредственно в процедурах проверки, сохраняем
> эту строку, полученную от юзера. Встраиваем множественные
> проверки на соответствие железа сохраненным данным. В том
> числе делаем отложенные проверки. Собираем полноценную версию,
> закрываем все процедуры проверки vmprotect-ом. В том числе,
> возможно, закрываем некоторые алгоритмы. Отсылаем пользователю.
> То есть по сути взлом программы свели к взлому самого vmprotect,
> либо к эмуляции железа пользователя на другой машине
Работу по анализу вы провели сложную, грамотную и никому не нужную. Не сработает.
← →
Rouse_ © (2012-05-16 20:36) [25]
> необходимость защитить авторский алгоритм
Дык, от этого и плясать следует...
← →
Rouse_ © (2012-05-16 20:38) [26]
> brother © (16.05.12 19:35) [23]
> > 5. Пользователь вводит код активации, мы вытаскиваем код,
>
> > которым зашифрованы данные, расшифровываем и работаем
> как
> > обычно.
>
> те в любом случае if then ?
конечно, только тут вся нагрузка идет на процессор, ибо он сурово ошибется при работе с неверно расшифрованными данными...
← →
Max (2012-05-16 20:56) [27]
> Работу по анализу вы провели сложную, грамотную и никому
> не нужную. Не сработает
а почему? объясните, если не сложно
← →
Max (2012-05-16 21:01) [28]
> конечно, только тут вся нагрузка идет на процессор, ибо
> он сурово ошибется при работе с неверно расшифрованными
> данными
если в числе официальных пользователей окажется злоумышленник, то не будет проблемой снять дамп памяти с уже расшифрованными данными
← →
brother © (2012-05-16 21:05) [29]> мы вытаскиваем код, которым зашифрованы данные, расшифровываем
> и работаем как обычно.
куда в файл?
← →
Rouse_ © (2012-05-16 21:13) [30]
> объясните, если не сложно
Как ты технически видишь делать:Встраиваем множественные проверки на соответствие железа сохраненным данным. В том числе делаем отложенные проверки
Оть нафига они? Ты материнскую плату прямо во время работы приложения собираешься менять? Да и зачем их много делать, по каким таким "множественным параметрам" железо будем тестировать?> Собираем полноценную версию, закрываем все процедуры проверки vmprotect-ом
Это тоже идея, но тебя будут ловить не в ВМ, а на АПИ уровне, которое ты будешь дергать из под ВМ. При данном подходе тебе навесняк шо собаке пятая нога...
> В том числе,
> > возможно, закрываем некоторые алгоритмы
Первая рациональная идея. Это единственно что представляет для взломщика ценность - твое алго (если ты правильно его реализуешь).
Ну а если данные алго есть суть твоей программы - считай ты реализовал нечто совершенное :)
ЗЫ: не обращай внимания на мой скепсис...
← →
Rouse_ © (2012-05-16 21:19) [31]
> Max (16.05.12 21:01) [28]
> если в числе официальных пользователей окажется злоумышленник,
> то не будет проблемой снять дамп памяти с уже расшифрованными
> данными
Хм, судя по твоим слова, там у тебя просто некий коллектив юзеров, если там встречается человек, умеющий восстанавливать дамп образа с прикручиванием импорта, то ты явно что-то не договариваешь :)
← →
Max (2012-05-16 22:40) [32]
> Как ты технически видишь делать
> Встраиваем множественные проверки на соответствие железа
> сохраненным данным
различные процедуры, которые выполняют одинаковую проверку - сравнение строки, которую ты получил от юзера и которую сохранил непосредственно в коде процедуры со строкой, полученной от набора железа пользователя по определенному алгоритму. процедуры вызываем по различным событиям программы. проверка не прошла - аварийных выход из программы, сообщение, окно регистрации итд - кому что тут нужно. важно, что бы все было в теле самих процедур, которые мы преобразуем в байт код уже после сборки итогового exe
> Оть нафига они? Ты материнскую плату прямо во время работы
> приложения собираешься менять?
а какой критерий привязки к определенному пользователю? набор его железа - самый простой вариант (хотя признаю, что и геморройный для юзера при апгрейде). остальные методы привязки имеют смысл только для дорогого ПО. либо не привязывать вообще. но тогда в сеть уйдет серийник
> а на АПИ уровне, которое ты будешь дергать из под ВМ
верно. но для этого они должны будут эмулировать железо, на котором работает зарегистрированный пользователь. хотя, это, конечно, решается. нужен один специально зарегистрированный для этого пользователь, далее хакер смотрит, какое железо и какое его описание запрашивает программа при проверке, потом пишется эмулятор вызовов, который вернет нужный набор для уже зарегистрированной копии. потом программа уйдет в сеть вместе с эмулятором
> Хм, судя по твоим слова, там у тебя просто некий коллектив
> юзеров, если там встречается человек, умеющий восстанавливать
> дамп образа с прикручиванием импорта, то ты явно что-то
> не договариваешь
разные люди есть. там чисто математика для анализа деятельности биржи, если тебе интересно. профита больше от эксклюзивности использования, чем от продажи оного софта
← →
Rouse_ © (2012-05-17 12:23) [33]Я бы сделал тогда проще, взял бы просто сам алгоритм засунул под ВМ. Спецов которые легко разбирают ВМ-ки по пальцам можно посчитать. А привязку к железу толком без ключа защиты сделать не получится, ибо только ключ сложно проэмулировать (ну есественно при его правильном использовании), проверка остальных же девайсов обойти достаточно просто
← →
Max (2012-05-17 17:09) [34]
> Я бы сделал тогда проще, взял бы просто сам алгоритм засунул
> под ВМ
так а если потом программа уйдет вместе с ВМ? или я не так понял?
← →
Rouse_ © (2012-05-17 17:29) [35]
> так а если потом программа уйдет вместе с ВМ?
ну уйдет и уйдет, по крайней мере саму математику твою из под ВМ вытащить будет крайне затрудительно...
← →
KSergey © (2012-05-17 19:47) [36]А указанная на первой странице группа лиц - не внутри одной локальной сети обитает, случайно?
Еще любопытно под какой биржевой (клиентский) софт роботов пишете. Ну просто любопытно, если это можно.
← →
TUser © (2012-05-17 23:49) [37]
> 115 евро в год
Для бюджета коммерческого проекта это = 0. А некоммерческий не надо защищать.
← →
Германн © (2012-05-18 01:09) [38]
> TUser © (17.05.12 23:49) [37]
>
>
> > 115 евро в год
>
> Для бюджета коммерческого проекта это = 0. А некоммерческий
> не надо защищать.
Имхо разделение проектов на коммерческий и некоммерческий слишком черно-белое. Например проект выполненный по заказу одного клиента, который заявил, что хочет использовать его только у себя, но который этот клиент может "тайком" продавать другим - это коммерческий или некоммерческий? Стоит его защищать? Или положиться на честность данного клиента?
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Память: 0.56 MB
Время: 0.124 c