Есть ли методы обфускации кода в общих модулях 1с8? #605291


#0 by Stagor
Интересует способ без привязки к физическим ключам. т.е. что-бы клиент не копался в модулях сам!?
#1 by mikecool
убери все переводы строк и лишние пробелы
#2 by Steel_Wheel
Гм. А разве обфускация -- это не снижение читабельности?
#3 by Жан Пердежон
зачем? пусть копается потом еще денег с него слупишь, чтоб вернуть как было
#4 by XLife
вк?
#5 by PR
Нетленка детектед
#6 by Stagor
так, что бы их местный фикси не вскрыл. Что такое декомпилятор 1С, так что пароль на модуль - дохлый номер!
#7 by akaBrr
А права отобрать заходить в конфигуратор, не?
#8 by Волшебник
Тогда комментарий // распространится до конца строки.
#9 by mikecool
думаю - запарится вскрывать )
#10 by Stagor
Нет. Ленка. Нет.
#12 by mikecool
первое что пришло мне в голову ) все переменные типа а, б, х никаких комментов и прочая )))
#13 by Stagor
Запутывать переменные и имена функций то же  - не выход, к сожалению!
#14 by andrewks
это почему?
#15 by Волшебник
Лично я не вижу никакой ценности в таком коде.
#16 by H A D G E H O G s
Потому что это шустро правится с помощью ctrl+h
#17 by PR
А комментарии при обфускации нужно _обязательно_ удалять
#18 by andrewks
любая обфускация приводится к читабельному виду. вопрос только, сколько усилий и времени на это будет затрачено
#19 by Feanor
Стыдно за собственный код перед фикси клиента? З.Ы. погугли wiseadvice
#20 by Stagor
Все равно логика видна! Имена методов объекта остаются!
#21 by Stagor
Смотрел, не подходит
#22 by andrewks
код зашифровывать, кидать в хранилище. потом его извлекать, расшифровывать и выполнять.
#23 by Адинэснег
кури нативапи и выноси функциональность туда
#24 by Stagor
Как вариант. :)
#25 by Волшебник
Берёте стандартный код УПП и получаете пример грамотно обфускации. Самая главная фишка в многочисленных вызовах процедур с неочевидными параметрами и результатами. Если  добавите рекурсию, то будет ещё лучше. Причём рекурсия желательна из 3-4 процедур, вызывающих друг друга по схеме: A -> Б -> В -> Б -> A
#26 by Волшебник
Предлагаю выполнять без расшифровки. Тогда результат будет тоже непонятный.
#27 by Feanor
а чем не подходит? там вроде можно шифровать отдельные модули
#28 by Дикообразко
он же прост, как три копейки
#29 by Stagor
классная вещь, спасибо!
#30 by Волшебник
Я ещё придумал способ. Все ключевые слова нужно перевести на английский. Т.е. использовать английские эквиваленты.
#31 by andrewks
или  можно ещё круче: завести для хранения зашифрованного кода отдельную базу (1с/mssql/mysql/firebird/etc). далее, вызов любой функции модуля будет состоять из запроса к базе с кодом, расшифровки, выполнения кода, и возвращения результата
#32 by pumbaEO
+10050
#33 by andrewks
(и тут остапа понесло) или закинуть код в облако
#34 by Aswed
Писать код на китайском
#35 by Stagor
наивный. ты то же!
#36 by H A D G E H O G s
Облако сдохнет.
#37 by Stagor
привязка к ключам. Всем спасибо, вопрос решен :)
#38 by MMF
таких обфускаторов надо убивать в детстве из рогатки, чтобы не успели размножиться. У меня в одной конфе филиала код наполовину на англ, без форматирования и с идентификаторами в стиле "А", "АА", "ААА". Когда приходится от них что-нить загружать и открывать их конфу, как в бочку с гуаном погружаешься
#39 by H A D G E H O G s
Это ты счаст Тонкого Клиента рассказал.
#40 by Волшебник
А зачем ты делал декомпиляцию защищённых модулей? Вот получай теперь
#41 by Дикообразко
фигня, вот так будет лучше _ = 2; __ = 3; ___ = _+ __;
#42 by andrewks
(_|_)
#43 by Stagor
Фигня, а не защита. СтрЗаменить(Текст,"_","Имя"); СтрЗаменить(Текст,"__","Фамилия");
#44 by Дикообразко
не взлетит :)
#45 by kuromanlich
древняя неприязнь?..
#46 by Stagor
сам, так расшифровал модуль, защищенный, как в муторно, но верно. Потом по логике - назвал переменные более корректно!
#47 by kuromanlich
зачем расшифровывал? оплачивалос отдельно?
#48 by Stagor
если конечно модуль в 10 тыщ. строк то - да, можно защитить, как в , но обычно логика переменных видна, как её не назови!
#49 by Stagor
нужно было интегрировать, часть модуля пришлось расобфускировать!
#50 by Дикообразко
твой код работать не будет, надо наоборот, начинать с самых длинных переменных :)
#51 by GenV
Это только если во всем коде эта переменная Имя и Фамилия, а если она несколько раз в разных процедурах несколько раз инициализируется и имеет разное значение, то потом еще и в каждой процедуре в каждом блоке по смыслу править
#52 by Stagor
я часть переменных расшифровал. Этого было достаточно! Вообще, видел декомпилятор, который сам защищен так, что вообще кода нет :)
#53 by Stagor
Так и есть!
#54 by boggonzikov
для обфускации можно использовать работает.
#55 by Stagor
Она в уже указана. в , что расшифровывал модуль, который таким образом защищен!
#56 by fisher
Большинство нетленок никакой дополнительной обфускации не требуют. Хватает врожденной.
#57 by GenV
Только не говори, что не зная алгоритма работы и имен переменных ты сможешь восстановить исходный код как было.
#58 by Stagor
- замена имен переменных/процедур/функций/параметров на трудночитаемые; это немного затрудняет расшифровку - не более. - удаление форматирования текста; фигня. Есть авто-форматирование :) - шифрование строковых переменных (может потребоваться capicom.dll). так же легко расшифровывается в обратную сторону - функция то 3 строчки!
#59 by Stagor
Как было? Только другое название функций и переменных.
#60 by Дикообразко
циклы и условные операторы можно заменить на GoTo
#61 by boggonzikov
при обфускации кода теряется логика работы кода. И не факт что на расшифровку ты потратишь меньше времени, чем написать новый.
#62 by boggonzikov
для защиты без заморочек вполне достаточно, если этого не хватает, тогда хасп с ключами.
#63 by GenV
А смысл тогда от расшифровки если все равно будешь все сам анализировать и проверять логику построчно? ЗЫ Засунь в зашифрованную dll и будет счатье )
#64 by boggonzikov
а вообще, поддерживаю Нетленка детектед ))
#65 by Stagor
Сам автор coder1cv8 про < Согласен. Данная обработка написана мной чисто из интереса, без какой-либо практической цели. Я считаю, что будущее защиты исходного кода для восьмерки за обфускаторами так называемого "байт-кода". Более тего, я тестировал бэта-версию такого обфускатора и могу сказать, что существующие на данный момент декомпиляторы просто вываливаются с ошибкой при попытке декомпеляции защищенного таким образом модуля (только не просите у меня эту обработку, я не автор и распространением не занимаюсь). >
#66 by Stagor
Нетленка детектед - нафиг!
Тэги: Математика и алгоритмы
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С