|
Защита кода конфигураций и обработок в 1С8х
|
|||
---|---|---|---|
#18+
Вот, например, защита от декомпиляции, в том числе и от AWA: http://1clancer.ru/catalog/1244 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2015, 03:20 |
|
Защита кода конфигураций и обработок в 1С8х
|
|||
---|---|---|---|
#18+
DimanNazarovВот, например, защита от декомпиляции, в том числе и от AWA: http://1clancer.ru/catalog/1244 И чем это лучше от известного WiseAdvice либо от собственной защиты самого Авы (которой он защищает свой декомпилятор только необфусцированного кода 1С)? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2015, 10:49 |
|
Защита кода конфигураций и обработок в 1С8х
|
|||
---|---|---|---|
#18+
Emery, если собрались защищать свой код, то вначале будьте добры обеспечить такую бизнес-логику, которую не потребовалось бы изменять (чтобы она была самодостаточна и универсальна), и оттестировать конфу от и до, чтобы там не было никаких ошибок. А то сначала понагородят огород из жанра "как я себе представляю автоматизацию учета", поналепят ошибок, и ещё код закроют. Да кому он сдался, ваш код? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2015, 11:04 |
|
Защита кода конфигураций и обработок в 1С8х
|
|||
---|---|---|---|
#18+
Александр ПузаковEmery, если собрались защищать свой код, то вначале будьте добры обеспечить такую бизнес-логику, которую не потребовалось бы изменять (чтобы она была самодостаточна и универсальна), и оттестировать конфу от и до, чтобы там не было никаких ошибок. А то сначала понагородят огород из жанра "как я себе представляю автоматизацию учета", поналепят ошибок, и ещё код закроют. Да кому он сдался, ваш код?Макрософт почему-то не горит желание отдать код... Бывают например в расчете доставки транспортом, очень серьезные алгоритмы. Вот их можно вполне защитить, а рисования формочек вокруг оставить свободным. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2015, 11:16 |
|
Защита кода конфигураций и обработок в 1С8х
|
|||
---|---|---|---|
#18+
Александр ПузаковEmery, если собрались защищать свой код, то вначале будьте добры обеспечить такую бизнес-логику, которую не потребовалось бы изменять (чтобы она была самодостаточна и универсальна), и оттестировать конфу от и до, чтобы там не было никаких ошибок. А то сначала понагородят огород из жанра "как я себе представляю автоматизацию учета", поналепят ошибок, и ещё код закроют. Да кому он сдался, ваш код? Думаю, что вы правы! Тем более что защита от WiseAdvice вполне снимается, только процесс этот пока достаточно трудоемкий. У Авы, несмотря на все его запутывания тоже разобраться можно, только он основную логику зашил во встроенную dll-ку. А та способна декомпилировать только необфусцированный код. А этого можно достичь и с помощью бесплатных онлайн-сервисов. Поэтому вывод такой защита с помощью обфускации имеет смысл для программ типа «Магазьки» (простая розничная торговля). Автор продает ее индивидуальным предпринимателям и весьма активно поддерживает свое детище, обещая в случае прекращения опубликовать весь код. Логика у подобных программ устойчивая, в основном процесс идет вокруг всякого рода улучшизмов. Ломать такое ПО резона нет никакого, проще написать собственный эквивалент, по трудоемкости это будет сопоставимо. Я же вообще придерживаюсь реализации нестандартных концепций учета. Поэтому решил не использовать никакой защиты вообще. Таким образом, данная тема потеряла для меня интерес. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2015, 11:33 |
|
Защита кода конфигураций и обработок в 1С8х
|
|||
---|---|---|---|
#18+
[quot Программист 1с]Макрософт почему-то не горит желание отдать код.../quot]Мелкософт продаёт универсальные решения, не требующие доработки. И стоит полагать, ядро того же ихнего экселя штука самодостаточная, и вполне пригодная для создания конкурентами программы аналогичного назначения. Что не скажешь про всякие там отраслевки на 1с, код которых завязан на кривоспроектированные метаданные. Ну ладно бы закрывали универсальные и сложные процедуры, на входе которых подаётся таблица значений определённой структуры (привязки к метаданным конфигурации нет или она минимальна), внутри процедуры делается сложный расчёт, а на выходе будет результат определённой структуры, а то же защищают что ни попадя, всякий код, который легче самому написать, чем переписывать разбираясь в его кривосплетениях. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2015, 13:05 |
|
Защита кода конфигураций и обработок в 1С8х
|
|||
---|---|---|---|
#18+
DimanNazarovВот, например, защита от декомпиляции, в том числе и от AWA: http://1clancer.ru/catalog/1244 Скачал пример "защищенной" обработки. В чем заключается защита, так и не понял. Вот результат декомпиляции примера: https://yadi.sk/d/egQAh5FzmYUNP EmeryУ Авы, несмотря на все его запутывания тоже разобраться можно, только он основную логику зашил во встроенную dll-ку. DLL - это аналог v8Unpack, позволяет читать файлы и писать файлы в/из контейнера cf/epf/erf. Вся логика декомпиляции написана на 1С. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2015, 15:23 |
|
Защита кода конфигураций и обработок в 1С8х
|
|||
---|---|---|---|
#18+
awa15EmeryУ Авы, несмотря на все его запутывания тоже разобраться можно, только он основную логику зашил во встроенную dll-ку. DLL - это аналог v8Unpack, позволяет читать файлы и писать файлы в/из контейнера cf/epf/erf. Вся логика декомпиляции написана на 1С. Это важное замечание для понимания логики вашей программы. Только главный вывод это не отменяет, любой обфусцированный, но исполнимый байт-код 1С восстановить можно и ваша обработка не исключение. Другое дело, что стимула в этом никакого, поскольку даже на слегка обфусцированном коде она спотыкается. Возможно, это сделано вами намеренно и не исключено, что для себя вы можете дешифровать и защищенный код, хоть от DimanNazarov’a, хоть от WiseAdvice, однако если это не реализовано в вашей опубликованной обработке, то интереса для анализа она представлять не будет. Как я понял, любое запутывание исполнимого кода сводится к специальному виду графов (связная часть которых представляет собой бинарные деревья с сцепленными концами). Задача состоит в оптимальной «линеаризации» этого графа. На эту тему есть математические теоремы, определяющие алгоритм подобной линеаризации, по сути, восстанавливающие исходный байт-код. Он хорошо работает на обфусцированном коде от WiseAdvice, на вашем коде заморочек немного больше, однако это не принципиально. В силу того, что это решение еще недостаточно автоматизировано, оно довольно трудоемко. Однако серьезно заниматься этим вопросом у меня желания нет, поскольку лучше писать собственный открытый код. Это и полезней и больше пользы. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2015, 07:09 |
|
Защита кода конфигураций и обработок в 1С8х
|
|||
---|---|---|---|
#18+
Emeryлюбой обфусцированный, но исполнимый байт-код 1С восстановить можно и ваша обработка не исключение Совершенно верно, код восстановить можно, в том числе и мой. У меня применено немножко больше запутывающих "приемов", чем в любых других встреченных мной обфускаторах, но затратив время их все можно "расковырять". EmeryВозможно, это сделано вами намеренно и не исключено, что для себя вы можете дешифровать и защищенный код, хоть от DimanNazarov’a, хоть от WiseAdvice, однако если это не реализовано в вашей опубликованной обработке, то интереса для анализа она представлять не будет. Да, опубликованный декомпилятор предназначен только для декомпиляции байт-кода, сгенеренного самой 1С. Основан на поиске сигнатур, характерных для разных конструкций языка 1С. По сути, ничего интересного там нет. EmeryКак я понял, любое запутывание исполнимого кода сводится к специальному виду графов (связная часть которых представляет собой бинарные деревья с сцепленными концами). Задача состоит в оптимальной «линеаризации» этого графа. На эту тему есть математические теоремы, определяющие алгоритм подобной линеаризации, по сути, восстанавливающие исходный байт-код. Он хорошо работает на обфусцированном коде от WiseAdvice, на вашем коде заморочек немного больше, однако это не принципиально. Сорри, я плохо разбираюсь в терминологии теории графов - не хватает знаний. Я в своем неопубликованном декомпиляторе строю граф потока управления, разными методами стараюсь выявить и удалить ложные ребра, а затем строю дерево доминаторов, и по нему пытаюсь восстановить исходные конструкции языка. EmeryВ силу того, что это решение еще недостаточно автоматизировано, оно довольно трудоемко. Однако серьезно заниматься этим вопросом у меня желания нетВсе защиты на этом и основаны)) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2015, 11:35 |
|
Защита кода конфигураций и обработок в 1С8х
|
|||
---|---|---|---|
#18+
awa15EmeryВ силу того, что это решение еще недостаточно автоматизировано, оно довольно трудоемко. Однако серьезно заниматься этим вопросом у меня желания нетВсе защиты на этом и основаны)) Ну да, все упирается в собственный интерес. Совершенно не обязательно публиковать все, что можешь, ибо чужие интересы нужно уважать, но ради собственных исследований можно копнуть глубже. В данном случае, само «распутывание» байт-кода происходит относительно просто, ибо соответствующий алгоритм работает надежно. Затем мы получаем уже необфусцированный код, на котором, однако онлайн-сервисы все равно спотыкаются. А ваша обработка с отдельными файлами чистого байт-кода не работает. Поэтому нужно либо самому писать собственную форт-машину, устойчивую к шероховатостям исходных данных либо ограничиться полудекомпиляцией (восстановлением только имен, констант и т.п., а затем проделать окончательное восстановление вручную). Последнее вполне работает, за несколько часов можно полностью восстановить 10-20 килобайт исходного кода. Если зашифрованы мегабайты кода, то этот вариант не слишком интересен. Хотя иметь собственную форт-машину было бы неплохо. Просто интересно с программистской точки зрения. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2015, 12:28 |
|
|
start [/forum/topic.php?fid=28&msg=39139399&tid=1518860]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
127ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
others: | 269ms |
total: | 480ms |
0 / 0 |