|
Баян - Защита обработок 🠗 (Amra 29.08.2012 18:19) | ☑ | ||
---|---|---|---|---|
0
Hussein
29.08.12
✎
17:13
|
protect1c.ru
Пробуем, хвалим, ругаем |
|||
1
Wobland
29.08.12
✎
17:16
|
можно я с последнего начну?
|
|||
2
Hussein
29.08.12
✎
17:19
|
(1) можно
|
|||
3
Sereja
29.08.12
✎
17:21
|
(0) Еще и регистрироваться надо. Отличный ход
|
|||
4
Wobland
29.08.12
✎
17:23
|
(2) грязный спамер
|
|||
5
Hussein
29.08.12
✎
17:25
|
(3) а вдруг вы троян захотите загрузить ))
|
|||
6
Web00001
29.08.12
✎
17:32
|
не открываетсо, миста эффект?
|
|||
7
Web00001
29.08.12
✎
17:33
|
ааа сайт просто тупит очень жестко, сразу не понял
|
|||
8
АЛьФ
29.08.12
✎
17:36
|
Тю! Шифрование... в сад... Уж лучше штатную поставку без исходников использовать. Надежней будет.
|
|||
9
Hussein
29.08.12
✎
17:38
|
(8) Штатная поставка без исходников оставляет в темпе следы со всеми вытекающими ... Кто мешает зашифровать без исходников - еще надежней будет
|
|||
10
АЛьФ
29.08.12
✎
17:39
|
2(9) Ага. А шифрование это создает файл с открытыми исходниками. Красота!
|
|||
11
Hussein
29.08.12
✎
17:46
|
(10) Шифрование не создает файл, а шифрует то, что ему скормили, в т.ч. и файл без исходников и закрытый паролем
|
|||
12
MMF
29.08.12
✎
17:53
|
фигня какая-то
|
|||
13
Hussein
29.08.12
✎
17:54
|
(12) аргументы
|
|||
14
quest
29.08.12
✎
17:56
|
(13) да просто - фигня. без аргументов. что такого наваять на 1С можно чего бы не повторить за разумное время?
|
|||
15
Stim
29.08.12
✎
18:00
|
Вывод простой — защищать разработки 1С нужно с помощью сложных программно-аппаратных решений(ключи, специальные продукты для защиты конфигураций), и соответственно, на защиту надо тратить немалые средства и время. А если стоимость разработки находится в переделах 3-5 тысяч рублей, тогда затраты на защиту превышают стоимость самой разработки.
Но не все так грустно. Достаточно вспомнить, что защита от взлома – понятие скорее экономическое. Поэтому для недорогих программных продуктов вполне можно создать защиту, по крайней мере, не дающую свободно тиражировать продукт. Структура предлагаемой нами защиты следующая: Внешняя компонента (ВК), выполняющая расшифровку Защищенного Модуля и его загрузку. Стартовая Обработка (СО), выполняющая роль загрузчика ВК, а также хранящая Защищенный Модуль в виде макета (двоичных данных). Защищенный Модуль (ЗМ) в зашифрованном виде, загружаемый только через ВК. Технология защиты проста. Достаточно вынести программный код в модуль объекта ЗМ, организовать вызовы процедур из него, затем зашифровать ЗМ и загрузить в макет. Загрузка ЗМ может выглядеть следующим образом: http://protect1c.ru/sites/default/files/protect_1c_pic1.png Загрузка ВК (Addin.dll) и пример работы с защищенным модулем на странице http://protect1c.ru/modules-for-1c Шифрование кода в ЗМ на странице http://protect1c.ru/upload4code (необходима регистрация на сайте protect1c.ru) Данная технология работает только для традиционного толстого клиента 1С (обычного приложения ) Несколько замечаний по уязвимости, предваряя флейм на тему «это не защита». Недостатком этого способа, как неоднократно отмечалось, является необходимость наличия расшифрованной обработки в виде файла на диске. Однако, на самом деле, недостаток этот не так велик, как кажется. Во-первых, время жизни этого файла сведено к минимуму, во-вторых, в модуле объекта ЗМ есть смысл написать следующую строчку: http://protect1c.ru/sites/default/files/protect_1c_pic2.png Такая строка не приводит к неработоспособности обработки, но затрудняет отладку. Не следует пренебрегать и стандартными способами защиты: установка пароля на код модуля объекта, поставка без исходных текстов, обфускация кода (http://nashe1c.ru/materials-view.jsp?id=121). При выполнении этих условий вскрытие кода становится достаточно непростой задачей. Много говорилось о наличии в каталоге %TEMP% файлов с байт-кодом загруженного модуля. Нами было проведено несколько экспериментов на эту тему. В результате выяснилось, что по крайней мере платформа версии 8.2.16.352 не создает файл с кодом МОДУЛЯ ОБЪЕКТА(!). В %TEMP% только модуль формы. Если у кого-то есть другая обоснованная информация – welcome в комментарии. В ходе экспериментов выяснилось, что оператор Выполнить(СтрокаКоманды) (естественно!) не приводит к компиляции выражения, переданного как СтрокаКоманды, то есть байт-код для этих команд отсутствует. Этот факт предоставляет широкое поле для экспериментов на тему защиты кода. В скобках замечу, что нам так и не удалось заставить выполняться команду выполнить внутри ВК, (злополучный method not supported by automation object () ). Если у кого-то получится – welcome в комментарии. Достоинством данного подхода является отсутствие необходимости перекомпилировать код ВК, а также то ,что весь код может быть написан только на 1С. Единственной операцией вне рамок 1С программирования является шифрование ЗМ. |
|||
16
quest
29.08.12
✎
18:00
|
(13) лучше бы уж обфусикацию доделал. развернул все циклы в метки и условия, все функции - в одну и опять же переход по меткам, а вот на что переходить - динамически бы формировал по выполнить.... Средний одинесник когда видит слово перейти уже считает что такое нельзя читать и обработка - вселенское зло... а представь у тебя их штук 500 в обработке? и куда перейти становиться ясно только на этапе выполения. И менять имена меток нельзя - не туда перейдет
|
|||
17
Nexux
29.08.12
✎
18:00
|
"сервис".подумалось, что грузишь на сервак открытую epf, а она отдает шифрованную
|
|||
18
Hussein
29.08.12
✎
18:10
|
(17) она и отдает зашифрованную epf, которую ложишь в макет как двоичные данные
|
|||
19
mehfk
29.08.12
✎
18:13
|
(15) Если файл был записан на диск, то он восстанавливается на раз-два.
(8) Аналог КЗК2 для снеговика будет? |
|||
20
Hussein
29.08.12
✎
18:15
|
Модератор, удалите, плиз пост №15
|
|||
21
Amra
модератор
29.08.12
✎
18:18
|
(20) Можно мы сами решим что делать?
|
|||
22
Hussein
29.08.12
✎
18:19
|
(21) на сколько я понимаю из-за этого поста тема помечена как спам
|
|||
23
Amra
29.08.12
✎
18:21
|
(22) Скажи спасибо что вообще не закрыли. Обсуждение действий модераторов на этом останавливаю, во избежание п. 8
|
|||
24
mehfk
29.08.12
✎
18:22
|
" В результате выяснилось, что по крайней мере платформа версии 8.2.16.352 не создает файл с кодом МОДУЛЯ ОБЪЕКТА(!). В %TEMP% только модуль формы"
Код покажете? |
|||
25
Mafoni
29.08.12
✎
19:01
|
(0) - Реклама детектед !!!!
|
|||
26
Hussein
29.08.12
✎
19:04
|
(25) Какая реклама? Вынесли на суд общественности свою нетленку
|
|||
27
Mafoni
29.08.12
✎
19:21
|
(26) - А эт разве не реклама ?
|
|||
28
Steelvan
29.08.12
✎
21:35
|
(0) К сожалению это факт.
Выкладываешь на мисте, будь готов что из 100 постов 90 будут тебя обс.рать. |
|||
29
Steelvan
29.08.12
✎
21:36
|
(0) Цель написания нетленки ?
|
|||
30
Steelvan
29.08.12
✎
21:36
|
Просто в свободное время ?
|
|||
31
Hussein
29.08.12
✎
22:11
|
(29) Цель - сохранение таинства других собственных нетленок ))) Помоему каждый из разработчиков не раз или на кидалово попадал. Изначально это был вариант с привязкой к любым данным из БД (в том числе и из системных таблиц), построенный на использовании двух ключей ... Но автоматизировать тот вариант пока не предствляется возможным.
|
|||
32
Hussein
29.08.12
✎
23:22
|
(12) ... не читал, но осуждаю
|
|||
33
Steelvan
30.08.12
✎
16:21
|
А шифровать общие модули ?
|
|||
34
Hussein
30.08.12
✎
17:31
|
(33) Зашифровать общий модуль естественно нельзя. Но никто не мешает выдернуть код из общего модуля, оформить его ввиде внешней(их) обработки(ок), зашифровать, положить в макет(ы) стартовой обработки или в общие макеты, сделать загрузку внешней компоненты в общем модуле ...
|
|||
35
Hussein
02.09.12
✎
14:07
|
(12) ну вобщем да, фигня полная, хорошо что статью на инфостарте не повесил - вскрывается на раз-два-три
|
|||
36
Hussein
20.09.12
✎
08:19
|
Кстати, проверка показала, что обфускация байт-кода тоже вскрывается на раз-два-три. И защита от декомпиляции - такая же мистика. Кому интересно - изложу методику так называемой защиты и ее вскрытия. Проверялось на общеизвестной обработке....
|
|||
37
Hussein
20.09.12
✎
08:20
|
Так что для защиты программ - только ВК.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |