Бюджет Блиц для Android - Возьмите расходы под контроль

Получение MAC адресов системы и его шифрование

Сделал обработку, которая выдергивает все МАС адреса из системы, сохраняет выбранный адрес в ТХТ файл с 1024 битным шифрованием по алгоритму RC4.


17.06.2009 08:10 [17.06.2009 08:10] (andy_zhav) Андрей 8 [+] [−] Перейти к публикации

Страницы: 1

Оформление диалога никакое, а так классно.

Ответили: (2)

(1) Оформление не было смыслом этой обработки. Сделано за 1 минуту.

Ответили: (4) (3)

(2) А что, есть обработки у которых весь смысл только в оформлениии? Т.е. исправить ошибку в тексте кнопки назвать как то обработку вместо ВнешняяОбработка1, (я не говорю про ТабличноеПоле1, это просто мелочь) - это излИшества?

Ответили: (5)

(2) Так уж и за минуту )

Ответили: (5)

(3) конечно нет. Дело в том что данная обработка - не готовый продукт а инструментарий для программиста. Шаблон. На счет очепятки - звиняйте. Видел. Просто лень исправлять. Скажите спасибо что не оставил первоначальные названия кнопок (кнопка и кнопка 2) :)
(4) Форму сделал - за минуту, даже меньше - честное слово :)

− 1 [ Арчибальд; ]
Ответили: (7)

Идею запатентовать выложил? За идею тебе плюс, а за форму и понты - минус. Остальные "лохи" время тратят и на форму, и на скриншоты и пр. Так что не обессудь.

Ответили: (11)

(5) Просишь спасибо - пожалуйста


Как не как, но подобное не часто делают...

Ответили: (9)

(8)Да все правильно, идея хороша. Но зачем к неряшливости еще и распальцовку добавлять?


А если я в конфе просто уберу проверку "ключевого" файла, тогда что?... )

Ответили: (11)

(6) Каюсь, дизайном не занимался совсем, но не изза понтов, а изза нехватки времени. Обработка - часть проекта по защите конфигурации - была сделана для отработки данного фрагемента кода. Сделал - решил выложить.
(10) Проверку ключевого файла можно убрать, если есть исходные коды. Если поставка без исходных кодов - это будет несколько проблематично.

Ответили: (12)

(11) Разве? ) А я никакой проблемы не вижу... Ведь это только маркетинговый ход - "поставка без исходных кодов"! ) На самом деле там все есть... )

Ответили: (13)

(12) Оно там все есть в бинарном виде. Хотя, если честно, я сам сомневаюсь на счет надежности всего этого. Поэтому я решил физически убрать код из модулей в защищаемой конфигурации и переместить их в закодированный по указанному здесь алгоритму шифрования внешний файл. В конфигурации остались процедура ВызватьФункцию и ВызватьПроцедуру. Хотя, с точки зрения 1С - это не правильно: по их мнению конфигурация должна быть единым целым, но с точки зрения безопасности - получше. Не спорю, что и этот метот защиты имеет свои плюсы и минусы. Пока просто лучше не придумал.

Ответили: (14)

(13) Вот лучше бы рассказал как сделать внешний модуль по нормальному в восьмерке... ) А получение МАС-адреса и шифрование - это все банально... ))

Ответили: (15)

(14) Да пожалуста. Только параметры процедуры пока не воспринимаются. Нужно добавить еще один параметр в процедуре кроме "ИмяПроцедуры" - "Параметры" - строка с набором параметров через запятую, разбирать строку и подставлять в шаблон. И с функциями пока вопрос не решен. Как сделаю полностью алгоритм - выложу в отдельную тему

Процедура ВыполнитьПроцедуру(ИмяПроцедуры) Экспорт
Текст = новый ТекстовыйДокумент;
Текст.Прочитать("d:\f.txt");
ТелоПроцедуры = "";
ПроцедураНайдена = Ложь;
Для н = 1 по Текст.КоличествоСтрок() Цикл
Стр = Текст.ПолучитьСтроку(н);
Стр = СокрЛП(Стр);
Если Не ПроцедураНайдена Тогда
Если Найти(Стр,"Процедура " + ИмяПроцедуры+"(") = 1 Тогда
ПроцедураНайдена = Истина;
КонецЕсли;
Иначе
Если Стр = "КонецПроцедуры" Тогда
Прервать;
КонецЕсли;
ТелоПроцедуры = ТелоПроцедуры +" "+ Стр;
КонецЕсли;
КонецЦикла;
Выполнить(ТелоПроцедуры);
КонецПроцедуры

P.S. а получение мак адреса и шифрование - может и банально, но нужно. :)

Ответили: (17)

Кстати, использование мнешних модулей обнаруживает ряд преимуществ: 1. Динамическое обновление конфы без выгоняния пользователей и даже без закрывания объектов конфигурации в пользовательском режиме,
2. Автоматический анализ изменений в коде - удобно для создания реестра изменений
3. ....


(15) Слабая защита. Процедура ВыполнитьПроцедуру находится в каком-то модуле самой 1С, как говорилось выше, ни пароль на модуль, ни поставка без исходных кодов не являются хоть чуть-чуть защитой, а значит мы имеем доступ к этой процедуре. Далее ставится точка останова на "Выполнить(ТелоПроцедуры);", и вот вам тело процедуры в открытом незашифрованном виде! И неважно сколько бит у ключа шифрования, 1024 или 8192.
Кроме того, Выполнить() - это тормоза. В твоем методе каждый раз будет распаковываться откуда-то тело процедуры, затем 1С ее будет каждый компилировать и лишь затем выполнять. Если таким образом прятать часто вызываемую процедуру, то 1С будет страшно тормозить.

Ответили: (20) (18)

(17) Нда... Это точно... Короче одними средствами 1с трудновато будет. Надо наверное будет писать Com сервер на стороннем языке.


Вот нашел по теме: http://www.kb.mista.ru/article.php?id=519

+ 1 [ akozhuhova; ]

(17) Кстати, давно хотел спросить мнения как специалиста.
Простенький пример защиты кода реализованный здесь http://infostart.ru/projects/3647/
Насколько перспективен? Это первые опыты в данном направлении. Есть очевидные плюсы у зашифрованной:
Не требует внешних компонент для работы
При знании пароля легко исправить текст модуля в отличии от обфускации.
Существующие декомпиляторы её не берут (и Ваша и другие с аналогичным принципом)
Минусы :
Достаточно легко вскрыть если разбираешься во внутренней структуре и, соответственно, написать новый декомпилятор.

Не выкладывал из-за очевидного минуса. Для массовости не подойдет, декомпилятор будет быстро :)

Ответили: (21)

(20) Собственно, ответ содержится в вопросе. Мелкие изменения байт-кода с целью сбить с толку существующие декомпиляторы работают до тех пор, пока защищенная обработка не попадется хоть немного грамотному человеку, способному чуть-чуть подправить декомпилятор, либо привести байт-код в вид, понятный декомпилятору.
Я такие мелкие изменения байт-кода встречаю не первый раз, в EI от German ( http://infostart.ru/projects/782/ ) тоже используются подобные трюки (у Германа блоки "Cmd", "Const", "Var", "Lbl" и "Proc" поменяны местами, и сами они преобразованы в верхний регистр - "CMD", "CONST" и т.д.).
У тебя убраны переносы строк и в конец файла добавлен мусор. Все это обходится очень легко.
Конечно, такие изменения имеют право быть, так как все-таки затрудняют вскрытие модуля для подавляющего большинства людей, но и сколь-нибудь серьезной защитой это назвать тоже нельзя.
Могу выложить вскрытую обработку РедактированиеФайлаНДФЛ_Демо ;)

+ 1 [ СергейКа; ]
Ответили: (22)

(21) Я же не спорю :) Изменения достаточно мелкие, но ведь работают. Кроме того можно использовать в разной компоновке и через время менять что-то еще. Т.е. каждый раз придется дописывать декомпилятор. А это достаточно напряжно (поддерживать актуальность) для использования частных случаев.
Поэтому и интересовался перспективой :)

Ответили: (24)

+ 22 Не, обработку не надо :)
Спасибо за анализ.


(22) На самом деле возможности данного метода не так уж велики. Возможные изменения ограничены самой 1С, то есть нельзя изменить файл байт-кода так, что его перестанет понимать 1С. Рано или поздно разбор формата файла декомпиляторов достигнет возможностей самой 1С и тогда такой метод защиты станет неактуальным.
Но на какое-то время, безусловно, перспективы у такой защиты есть)) Тем более, что Самурай, похоже, перестал интересоваться развитием своего декомпилятора :)

Страницы: 1

8 [+] [−] Перейти к публикации

Форма ответов
Логин:
Пароль:
Текст сообщения*
Прикрепить файл
Охрана труда для 1С:Предприятия 8. Новая версия 6.0.1.1
Открыть