Golden Key 1.1 Бесплатная защита твоей конфигурации




Принцип обмена данными из 1С с сайтом (на MySQL) и выдачи (публикации) этих данных по запросу.
PHP-Скрипт автоматической загрузки данных из файла данных в формате CSV в базу данных сайта работающего на WordPress.

В продолжение моей темы: 1С:Альфа-Авто Автосалон Автосервис: обмен с сайтом.
С помощью данного скрипта можно загружать в автоматическом режиме, по расписанию, данные сервисных книжек (ремонтов авто) из 1С:Альфа-Авто Автосалон Автосервис.
Также можно загружать данные в ручном режиме: для этого делается скрытая страница, где размещается специальная кнопка.
Комментарии размещенные внутри скрипта разъяснят логику и порядок действия.
Комментарии с "/////    echo" использовались для отладки.
Дополнительно создана таблица для журналирования результатов загрузки данных.
Скрипт включает в себя защиту от SQL инъекций (думаю безопасность соблюдена в полной мере).
В кратце:
1. Пишется скрипт, который запускает этот.
2. Создается регламентное задание в WordPress, по которому запускается скрипт из п.1. 
3. Этот скрипт осуществляет проверку на существование файла обмена в папке.
4. Если данные не новые, загрузка не производится.
5. Если данные новые, очищается таблица сервисных книжек.
6. Загружаются новые данные.

Собственно сам скрипт:

<?php // Полная загрузка сервисных книжек, создан 2024-01-05 12:44:55

global $wpdb2;
global $failure;
global $file_hist;

/////  echo '<H2><b>Старт загрузки</b></H2><br>';

$failure=FALSE;
//подключаемся к базе
$wpdb2 = include_once 'connection.php'; ; // подключаемся к MySQL
// если не удалось подключиться, и нужно оборвать PHP с сообщением об этой ошибке
if (!empty($wpdb2->error))
{
/////   echo '<H2><b>Ошибка подключения к БД, завершение.</b></H2><br>';
$failure=TRUE;
wp_die( $wpdb2->error );
}

$m_size_file=0;
$m_mtime_file=0;
$m_comment='';
/////проверка существования файлов выгрузки из 1С
////файл выгрузки сервисных книжек
$file_hist = ABSPATH.'/_1c_alfa_exchange/AA_hist.csv';
if (!file_exists($file_hist))
{
/////   echo '<H2><b>Файл обмена с сервисными книжками не существует.</b></H2><br>';
$m_comment='Файл обмена с сервисными книжками не существует';
$failure=TRUE;
}

/////инициируем таблицу лога
/////если не существует файла то возврат и ничего не делаем
if ($failure){
///включает защиту от SQL инъекций и данные можно передавать как есть, например: $_GET['foo']
/////   echo '<H2><b>Попытка вставить запись в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>$m_comment));
wp_die();
/////    echo '<H2><b>Возврат в начало.</b></H2><br>';
return $failure;
}
/////проверка лога загрузки, что бы не загружать тоже самое
$masiv_data_file=stat($file_hist);   ////передаем в массив свойство файла
$m_size_file=$masiv_data_file[7];    ////получаем размер файла
$m_mtime_file=$masiv_data_file[9];   ////получаем дату модификации файла
////создаем запрос на получение последней удачной загрузки
////выбираем по штампу времени создания (редактирования) файла загрузки AA_hist.csv, $m_mtime_file

/////   echo '<H2><b>Размер файла: '.$m_size_file.'</b></H2><br>';
/////   echo '<H2><b>Штамп времени файла: '.$m_mtime_file.'</b></H2><br>';
/////   echo '<H2><b>Формирование запроса на выборку из лога</b></H2><br>';
////препарируем запрос
$text_zaprosa=$wpdb2->prepare("SELECT * FROM `vin_logs` WHERE `last_mtime_upload` = %s", $m_mtime_file);
$results=$wpdb2->get_results($text_zaprosa);

if ($results)
{   foreach ( $results as $r)
{
////если штамп времени и размер файла совпадают, возврат
if (($r->last_mtime_upload==$m_mtime_file) && ($r->last_size_upload==$m_size_file))
{////echo '<H2><b>Возврат в начало, т.к. найдена запись в логе.</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>'Загрузка отменена, новых данных нет, т.к. найдена запись в логе.'));
wp_die();
return $failure;
}
}
}
////если данные новые, пишем в лог запись о начале загрузки
/////echo '<H2><b>Попытка вставить запись о начале загрузки в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>0, 'last_size_upload'=>$m_size_file, 'comment'=>'Начало загрузки'));

////очищаем таблицу
$clear_tbl_zap=$wpdb2->prepare("TRUNCATE TABLE %s", 'vin_history');
$clear_tbl_zap_repl=str_replace("'","`",$clear_tbl_zap);
$results=$wpdb2->query($clear_tbl_zap_repl);
/////   echo '<H2><b>Очистка таблицы сервисных книжек</b></H2><br>';
if (empty($results))
{
/////   echo '<H2><b>Ошибка очистки таблицы книжек, завершение.</b></H2><br>';
//// если очистка не удалась, возврат
$failure=TRUE;
wp_die();
return $failure;
}

////загружаем данные
$table='vin_history';         // Имя таблицы для импорта
//$file_hist Имя CSV файла, откуда берется информация     // (путь от корня web-сервера)
$delim=';';          // Разделитель полей в CSV файле
$enclosed='"';      // Кавычки для содержимого полей
$escaped='\

99 Comments

  1. sergm47

    >СРОЧНО КАЧАЙТЕ НОВЫЙ ПАКЕТ GOLDEN KEY!

    Доступ — Для своих (((

    Reply
  2. JohnyDeath

    Я так подозреваю, что способ оюхода данной защиты аналогичен способу обхода КЗК-1

    Reply
  3. vasilykushnir

    (2) если бы… — подозреваю, что легче.

    Протестирую с удовольствием.

    Reply
  4. astonvilla

    Не знаю, скачал, вроде ничего, работает.

    Попробую помучать всяко тестовую конфу, о результатах отпишусь попозже.

    Reply
  5. O-Planet

    VasilyKushnir

    Ты явно недооцениваешь меня =)

    Reply
  6. O-Planet

    sergm47

    Вот потестируем — выложу для всех

    Reply
  7. O-Planet

    Кстати!!! Совсем забыл упомянуть один важный нюансик при защите внешних отчетов… ПОКА НЕ ПРОВЕРЯЙТЕ ЭТО. Вот посплю — напишу…

    Reply
  8. vasilykushnir

    (5)Ну-ну — посмотрим. Пока потестирую… Плюсик ставлю за попытку(:-)

    Reply
  9. Abadonna

    >Я так подозреваю, что способ оюхода данной защиты аналогичен способу обхода КЗК-1

    Я сильно подозреваю, что это и есть КЗК-1 в исполнении Планета 😉

    Reply
  10. yu

    (5) Ты явно недооцениваешь IDA. Достаточно поставить breakpoint на AssignAndCompile из seven.dll, ему ты скармливаешь уже расшифрованный текст модуля…

    Reply
  11. АЛьФ

    Мда… Опоздал ты года на четыре с этой разработкой… 🙂

    Reply
  12. andrewalexk

    (0)

    :)))

    «быстрее сделать чем найти..»?!

    вот это опустили местных банеростроителей…

    😉

    Reply
  13. Abadonna

    >8. Перенесите сформированный текст обратно в модуль 1С

    Планет! Стыдобища — компаунды еще не освоил?

    Reply
  14. CheBurator

    Хм.. зашифровал внешний отчет

    при открытии отчета пишет — Извините, время демо закончилось…

    это так задумано…? или это особенность (7)…?

    Reply
  15. CheBurator

    в принципе — то же самое и для встроенного отчета..

    где я туплю…?

    Reply
  16. CheBurator

    вообще, конечно, автора надо убить. и не за предлагаемую защиту, а за стиль. ладно, главное окно — дело вкуса…

    но окно настроек — я впал в ступор…

    кнопки со стрелками — переключают В РЕЖИМ указанный справа от кнопки…? или сейчас действует такой режим….?

    долго искал кнопку «закрыть»…?

    Reply
  17. O-Planet

    yu

    Интересно, сколько человек такое могут проделать? Но подумаю над этим…

    АЛьФ

    Ничего. Я эти 4 года пробегу за один =)

    Abadonna

    Чудо! Ты сколько внешних компонент сделал? У меня это — вторая. Первая — ты занешь, что умела делать =) Вот возьми и подскажи…

    Reply
  18. АЛьФ

    2(17) Ты не с того начала, чтобы догонять.

    Reply
  19. O-Planet

    Да эт не самоцель на самом деле. Просто нужна была защита. И она есть теперь. С IDA разберемся.

    Reply
  20. АЛьФ

    2(19) Это тебе кажется, что она есть 🙂

    Не думал, что буду выступать в этом качестве, но…

    Давай ты мне пришлешь свою «защищенную» конфигурацию, а я тебе верну ее в открытом виде? Ну, скажем, в течении часа… Если, конечно, модулей не слишком много (тогда понадобится чуть больше времени).

    А? 😉

    Reply
  21. АЛьФ

    Кстати, не трать время на IDA. Твою «защиту» можно намного проще преодолеть.

    Reply
  22. CheBurator

    Ээээ! А на (15) ответ будет…?

    Reply
  23. CheBurator

    Ээээ! А на (16) ответ будет…?

    Reply
  24. O-Planet

    АЛьФ

    Давай исходить их того, что моя защита все-таки надежнее простого пароля на конфигуратор. То, что ты или Abadonna можете ее обойти — ничего не значит. Остальные-то не обойдут! Тем более разные юзеры — потенциальные покупатели наших программ. Для первой версии все-таки, думаю, оно получилось. Или ты можешь предложить более надежную бесплатную защиту?

    Сhe Burashka

    [15] — проверяй на конфигурациях, а не на отчетах. я на отчетах сам не гонял, поэтому, там может быть глюк. Я ж и поставил доступ «для своих» поэтому

    [16] — описание просто нужно. если кнопка со стрелкой напрягает — поставлю что-то более привычное. не проблема.

    Reply
  25. АЛьФ

    2(24) Обойти сможет любой, кто умеет пользоваться поисковиками. Или знает об 1С++. Так же, как и пароль на конфигу. Так что не надежней. Да еще и жутко неудобно в установке.

    Говорю же, опоздал ты на четыре года. У народа было время отточить на первой версии КЗК навыки взлома подобного рода защит.

    Бесплатные аналоги КЗК время от времени всплавали. Попадались и неплохие варианты. Вот только до нормального состояния мало кто довел. Хватит ли у тебя терпения сделать нормальный бесплатный продукт? Тем более ты уже сейчас планируешь делать платный 🙂

    Reply
  26. АЛьФ

    Кстати. Вот тебе задачка: для глобального модуля твоя разработка не прокатит.

    Reply
  27. O-Planet

    АЛьФ

    Я не спорю, что более надежной была бы защита, не дающая где-то там в ddl ссылку на расшифрованный файл. Например, можно было бы ее построить по следующему принципу: любая 1С-макрокоманда предполагает набор элементарных операций над памятью, регистрами и данными 1С. Эти операции выполняюся библиотечными функциями 1С-компилятора. Фактически, можно было бы просто их вызвать по AppDispatch напрямую в ВК. Но для второй в жизни ВК это все-таки сложновато… Вот на 4-й 5-й можно будет =)

    Reply
  28. O-Planet

    АЛьФ

    Про глобальник я знаю и в реадми это сказано… =((( Я спец по с++, меньше — по паскаль и немного по 1С. Попутно занимаюсь php, js, ajax — технологиями. Все эти асмы, ddl-ки и дебагеры в сферу моей специализации не входят, к сожалению. Пока не входят. Для меня — проблема получить список функций из dll, проблема их переопределить в delphi. Опять же, пока. Просто новая тема. Всегда начинать немного сложно. А терпения вести бесплатный продукт у меня точно хватит. И не думаю, что оно не выгодно.

    Reply
  29. АЛьФ

    Секундочку… Я, похоже, был лучшего мнения и не слишком внимательно глянул…

    «расшифрованный файл»? ФИниш… Не ожидал, что ты будешь делать временный файлы. Это ж даже не четыре года отставания, а все шесть…

    Извини, больше тогда не буду комментировать. Делай, изучай. Возможно, что-то и выйдет.

    Reply
  30. АЛьФ

    Ой! Чуть не забыл!

    Когда все напишешь на приемлимом уровне, посчитай свои затраты и, возможно, осознаешь, что было бы намного проще и дешевле купить КЗК-2 🙂

    Reply
  31. O-Planet

    Какой временный файл? Ты о чем? Я не делаю временных файлов. Это было бы отставанием лет эдак на 12, а не на 6… Я говорю о данных в буфере. Терминология «файл» здесь также применима.

    По поводу КЗК-2 — это из разряда вопросов, что лучше: поддерживать OpenOfice или стать дистрибьютерами MicroSoft…

    КСТАТИ…

    Вопрос — от кого мы хотим защитить свои программы.

    Варианты ответов:

    А. От коллег

    Б. От юзеров

    Если я выбираю А, то возможно, мне действительно лучше приобрести КЗК. Однако, меня меньше всего волнует, что пара программистов, знающих IDA, стырят мою Кассирочку и поставят на тройке фирм. Но меня волнует другое: что клиент, приобретший Кассирочку для одной точки, может ее перекинуть на десять других. Почти любой тупой сисадмин может обойти пароль на конфу. Но далеко не каждый владеет 1С и тем более методами взлома ее dll. А в интернете нет готовых решений, есть только советы для специалистов типа тебя.

    Поэтому, я выбираю вариант ответа Б. И, думаю, среди моих знакомых бухов и директоров фирм не так много знакомых, владеющих 1С++ =) Поэтому, использовать КЗК против них — это стрелять из пушки по воробью.

    Reply
  32. АЛьФ

    Думаю, что ни один твой знакомый бух или директор фирмы не полезет сам ломать даже пароль на конфиге. Он найдет знакомого, который это сделает за него.

    И твой выбор основан только на недооценивании «противника» 🙂

    И еще раз советую посчитать во сколько тебе в итоге обойдется эта защита.

    Reply
  33. O-Planet

    АЛьФ

    Ты не знаешь, похоже, основ маркетинга. Бесплатное распространение хорошей программы является неплохой рекламой. Я могу прилепить всплывающее окно с инфой о разработчике, отказавшись от всякой оплаты. Кому надо — его хакнут, но у большинства оно будет всплывать. нет. Golden Key будет поддерживаться, развиваться, и он останется бесплатным.

    По поводу возможности взломать… Ты все-таки преувеличиваешь. Не знаю, что обычно выгоднее и дешевле начальнику конторы: нанять хакера, взломать чью-то прогу, использовать взломанную на свой риск, не имея возможности получать обновления и сопровождение, или заплатить те же или даже меньшие деньги не хакеру, а разработчику, приобретя все блага. Повторюсь: актуальной является защита от злоупотреблений юзеров, а не коллег программистов экстра класса. А взломать можно практически любой софт. Поэтому, лучшей защитой конфы является до сих пор внешний ключ. И то, умельцы сканируют эти ключи и ставят эмуляторы.

    Reply
  34. O-Planet

    Бесспорно, для программного комплекса стоимостью в 150000, слабовато будет и КЗК… А вот для конфы в пару сот баксов вполне сойдет и Golden Key, и разработка от it.net, и Снусмумрика… Я специализируюсь не на уникальных решениях, а на популярных. Ты пишешь здесь потому, что наши бесплатные и относительно бесплатные защиты уводят часть твоих клиентов на КЗК. =)

    Reply
  35. АЛьФ

    2(33) Это ты МНЕ пишешь про «основы маркетинга» и неплохую рекламу с помощью бесплатных проектов? Хорошая шутка 🙂

    2(34) С чего это вдруг КЗК будет «слабовато» для проектов стоимостью 150000? В самый раз. Так же как и для конфы в пару сотен баксов. Для обоих этих категорий КЗК очень даже неплохо используется.

    Для информации: у it.net нет своей разработки по защите информации, он чужую опубликовал; у Снусмумрика разработка предназначена для работы с данными, а не с конфигурацией.

    И твоя разработка не уведет ни какой части моих клиентов. Скорее наоборот. Посмотрев на подобные разработки, люди сделают правильный выбор 🙂

    Кстати, поэтому и пишу здесь, чтобы твоя разработка висела на первой странице и как можно больше людей смогли на нее посмотреть 🙂

    Reply
  36. O-Planet

    Ха-ха. Антиреклама не пройдет. Это бетта-версия, закрытая для скачивания большинством. Сейчас баги и слабые места выявлю — снесу ее со всеми комментами и выложу нормальную. Понимаешь, выбор основывается не на комментах конкурента, а на личном выводе. Человеку достаточно просто скачать и посмотреть самому как оно работает.

    Reply
  37. O-Planet

    А мож и не снесу… Твои апы поддерживают интригу, и это здорово. Многие тут не довольны тем, что КЗК платна. А Golden Key — нет. И уже сейчас лучше пароля на конфу. Вот подумаю над антиотладочную защитой. Через какое-то время это будет нормальный, популярный софт с сотней комментов и хорошим рейтингом. Будет приятно видеть твои комменты в самом начале по поводу тестовой версии… =)

    Reply
  38. АЛьФ

    Какая антиреклама? Ты действительно считаешь свою разработку конкурентом КЗК?!

    А ты хотя бы демку КЗК скачивал? 🙂

    Выявляй баги, закрывай слабые места, выкладывай нормальную (в твоем понимании). Я всячески поддерживаю это начинание!

    Reply
  39. АЛьФ

    2(37) Я тебе еще раз говорю: не парься с тем, что только время отнимет. Поверь мне. Я ж уже не первый год этим занимаюсь. Вся твоя «антиотладочная защита» пойдет прахом. Просто по причине, что подход с шифрованием подразумевает передачу модуля в открытом виде в 1С на исполнение. Т.е. как бы ты не защищался, человек, который слышал про первую версию КЗК, очень быстро обойдет и твою. А если не слышал, то быстро найдет нужную инфу в Инете.

    Да хотя бы вот практически готовый инструмент:

    http://idjogod.narod.ru/

    Reply
  40. CheBurator

    Я пока — плохого мнения от программы Опланета (не от защиты!!! — тут я не спец…). В первую очередь потому что она жутко неудобна и неюзабельна. Прога которой не удалось воспользоваться с первого раза — вряд ли доживет до второго… Тем не менее — следить и пробовать буду…

    Reply
  41. Abadonna

    В любом случае действия Планета в направлении написания не только 1С-кода я приветствую.

    Пусть опоздал, пусть интерфейс кому-то не нравится, но главное — лед тронулся 😉

    Reply
  42. Abadonna

    (17)>Вот возьми и подскажи…

    Если мне память не изменяет, то все, о чем ты спрашивал, я подсказал 😉

    Про компаунды ты не спрашивал. Кстати, компаунды и ВК — совершенно из разных опер

    Reply
  43. O-Planet

    > Ты действительно считаешь свою разработку конкурентом КЗК?!

    Вообще, нет. Все-таки потребитель у них разный. Я не претендую на тот присловутый проект стоимостью 150000. Потом, КЗК уже действительно, давно в пути…

    > Да хотя бы вот практически готовый инструмент:

    Хорошее здесь слово «практически»! Для программиста, может быть, и готовый инструмент. И то, не для всякого.

    > Я всячески поддерживаю это начинание!

    > В любом случае действия Планета в направлении написания не только 1С-кода я приветствую


    Ну а что ж вы накинулись-то!!! Я понимаю, что с КЗК не стоит мне сейчас сравниваться. Это разработкb разного класса. Оно и претендовало с самого начала на место бесплатной защиты от юзеров и не экспертов в области с++, asm и дебаггинга. От них в первую очередь и требуется что-то защищать. И предполагается дальнейшее развитие проекта.

    Reply
  44. АЛьФ

    2(43) Ну, раз уж ты считаешь свое время таким дешевым… У меня на сайте сейчас выложены исходники программы Inserter. Можешь взять за основу для создания нормальной оболочки. Заставлять пользователя копировать руками текст туда-сюда — это ж просто издевательство (хоть я сам этим и грешу :))

    Reply
  45. O-Planet

    Нет, конечно всем спасибо за критику. И я, похоже, знаю в каком направлении двигаться дальше.

    А мое время?.. Я программист. Фри. То, что я делаю, в конечном итоге обращается в деньги. Потом, я программлю достаточно быстро. Потом, мне самому нужна защита с развитием, так скать. Использовать готовую утиллиту можно, но иметь что-то свое — и пристижно, и познавательно. Но главное — соскучился я по нормальному программингу с этим 1С 🙁

    Reply
  46. Abadonna

    Куски от CompaundExplorer могу кинуть, да и альфовский inserter на ту же тему.

    Copy-Paste must die 😉

    Reply
  47. O-Planet

    Ладно, начнем с Чебуратора, как с самого главного…

    Дизайн поменял, сделал более строгим. Добавил кнопку «Выход». Убрал непонятную кнопку со стрелкой. Вообще убрал возможность защиты внешних обработок отдельно, вне прописи в глобальнике внешней компоненты. не до этого пока. То есть, теперь работает только на целых конфигурациях…

    Reply
  48. svsrus

    Плюс в любом случае. Ибо попытка не пытка и такие начинания всячески приветствуются) Что получится не знаю, но что-то получится… Пойду хоть гляну одним глазком.

    Альфу тоже плюс! За интересные ссылки, которые я не видел…)

    Reply
  49. andrewalexk

    (2O-Planet)

    🙂

    вперед молодняк!

    не принимай Альфа всерьез в нетехнических вопросах!

    а фразы «проще было купить мою КЗК-2» вообще курам насмех

    он не понимает суть происходящего,

    путает коллегу-разработчика, который ищет опыт создания,

    с потенциальным клиентом

    и «тупо пеарится!»

    😉

    Reply
  50. vip

    to andrewalexk

    Вот «тупо пеарится!» как раз автор ветки.

    Когда я писал свою первую ВК, я тоже прыгал от радости, только моих прыжков никто не видел.

    А каждое появление уважаемого автора сопровождается оглушительным грохотом в панфары.

    И на успех он, конечно, обречен.

    Наш народ последнее время способен услышать только громкую музыку.

    Reply
  51. Abadonna

    >вперед молодняк!

    Ты молодняк как определяешь? По уровню или возрасту?

    Если по возрасту — пальцем в небо

    Reply
  52. andrewalexk

    (50)

    :))

    вот и Альф тоже считает что «автор пальцы гнет»

    потому и нападает..

    а по-моему все проще..

    (51)

    🙂

    по опыту..

    😉

    Reply
  53. Abadonna

    (52) Не понимаю я, что такое «опыт»… Можно не знать ни одного языка — но быть ПРОГРАММИСТОМ. И наоборот.

    Алгоритмическое мышление — врожденная способность, никакой опыт не поможет

    Reply
  54. АЛьФ

    2(52) Я совсем не считаю, что «автор пальцы гнет». С чего ты взял?

    Я считаю, что автор занимает изобретением велосипеда с квадратными колесами и без сидения. И совсем я не нападаю, а высказываю свое мнение. Уж извини, если это мое мнение не совпадает с твоим и автора.

    Reply
  55. andrewalexk

    (53)

    🙂

    ну я про опыт в плане написания внешних компонент..

    про алгоритмическое мышление автора я не знаю..

    (обработку тоже не смотрел)

    (54)

    :))

    ..и предлагаешь ему купить свой с круглыми..

    я просто заметил что это уместнее в магазине

    где ПОКУПАЮТ велосипед с квадратными колесами,

    а не в мастерской, где его СОЗДАЮТ…

    😉

    Reply
  56. АЛьФ

    2(55) Видишь ли… В отличие от тебя, я сначала посмотрел обсуждаемую разработку.

    Reply
  57. andrewalexk

    (56)

    :))

    удивился бы если бы АЛЬФ не оценил бы сначала своего потенциального «убийцу»..

    😉

    Reply
  58. vasilykushnir

    А между прочим Альф по дружески подсказывает товарищу по цеху, чтобы не блуждал в потемках. И если где-то его критика более резковата — так это чтоб Планет не упорствовал и не ломился в открытую дверь. Ведь плюсик он таки поставил… Хотя бы за то, что Планет сделал первый шаг на этой тропе. Придет время и тропа превратится в хорошую дорогу. Олежа, я верю в тебя.

    Reply
  59. АЛьФ

    2(57) Ой! Не смеши! 😀

    2(58) Он просто пошел не в ту сторону. Эта тропка уже истоптана вдоль и поперек. Ему надо взяться за С++ и копать в сторону КЗК-2. Шифрование — это устаревшая тема. И тупиковая ветвь для вхождения на рынок защиты.

    Reply
  60. Abadonna

    Жирик как-то предложил, чтобы женщин, выходящих замуж за иностранцев лишали гражданства. И сам он понимал, что это чушь — просто посветиться захотелось. А пресса повелась, и вместо того, чтобы промолчать, начала Жирика и так и эдак. А он, довольный, руки потирал — опять о нем!

    Так что Олега свое дело сделал — за день 60 комментариев 😉

    Reply
  61. andrewalexk

    (59)

    :))

    не надо меня буквально понимать —

    я про любую новую обработку в данном направлении,

    ищи около слова «потенциальный»…

    😉

    Reply
  62. vasilykushnir

    Вот смотрю: и АЛьФ, и artbear поставили плюсики и так грустно-грустно стало… Не, ребята (57), не убийцу потенциального они заценили, а потому, что эта защита принесла им полное удовольствие в качестве как раз «совсем не конкурента». Это сигнал Планету, что до конкурентной версии еще ой как далеко…

    Reply
  63. АЛьФ

    2(61) Ни одного даже «потенциального» пока не встречал. А ты?

    2(62) А как ты догадался? 🙂

    Reply
  64. andrewalexk

    (63)

    🙂

    неа

    но не теряю надежд..

    (не лично для меня а для общества в целом)

    потому что когда на узкоспециализированном форуме

    вместо проф. советов появляются фразы типа «купи мой ХХХ»

    такой тянет «лумповщиной»

    что становится не по себе

    от жадной поступи капитализма…

    😉

    Reply
  65. O-Planet

    > Ему надо взяться за С++

    Это — вообще моя тема. Builder — любимый продукт. Минидизайнер на нем… Только по ВК под с++ не написано ни где, поэтому и Дельфи, хоть и плююсь периодически. Вот если на С это делать, то точно, надо время, которого нет.

    Про пиар кто писал — вы не правы. Не в этот раз, по крайней мере. Я не рассчитывал на 60 комментариев, мне и не нужны они. И с КЗК не собираюсь я конкурировать. Мне просто нужно выложить пару новых разработок, обновить несколько имеющихся. Вот и ваяю простенькую защиту от разных… А то, что здесь выложил это, то для оценки прежде всего, да и поделиться, если кому надо. Нравится этот портал. И так пол года ничего не выкладывал… Кому не нравится — ф топку!!!

    Reply
  66. O-Planet

    А вот — вопросик по существу для экспертов по ВК… 😉 Так уж и нельзя никак добраться до локальных переменных модуля по AppDispatch? (перевод их в глобальные я не рассматриваю за метод)

    Reply
  67. Abadonna

    (66) AppDispatch — OLE-интерфейс, со всеми вытекающими. Нельзя, ИМХО

    Reply
  68. Abadonna

    >Я считаю, что автор занимает изобретением велосипеда с квадратными колесами и

    Не, ребята… Если бы я не изобретал велосипеды, пусть даже с квадратными колесами, был бы я Кучер А.А., инженер-механик. А сейчас, какой-никакой — Абадонна 😉 Помню, «изобрел» рекурсию и был шибко удивлен, что опять — велосипед. Но ведь САМ!!!

    Reply
  69. неадекват

    Интересно.

    Reply
  70. Генералисимус

    Как стать «своим»???

    Reply
  71. artbear

    (65) На С++ полно различных ВК 🙂

    навскидку 1С++, FormEx, ТурБоМД, ТурбоБЛ, VTools и др.

    Да и в примерах к технологии создания внешних компонент есть пример на С++ с соответствующей докой.

    Я в свое время работал и с Делфи и с Билдером, библиотеки все равно одни, и схемы работы одинаковы.

    Пробуй и все получится.

    По поводу защиты — интересно, при загруженной ФормЕкс что покажет код

    Код
    РасширениеФормы = СоздатьОбъект("РасширениеФормы");
    Сообщить(РасширениеФормы.ТекстМодуля);

    Показать полностью

    ?

    ИМХО как раз тот код, который и был закрыт 🙂

    Reply
  72. vasilykushnir

    (63) А че там сложного догадыватся? И так все прозрачно видно — будь эта защита серъезным конкурентом, почему-то уверен — тон комментариев товарища Альфа был бы совершенно другим, а так только по отчески пожурил, чтобы Планет в потемках не блуждал. И будь предложен серъезный алгоритм защиты, думаю даже предложение о сотрудничестве не замедлило бы поступить..

    Reply
  73. Abadonna

    (71) По поводу защиты — интересно

    Действительно ИНТЕРЕСНО, если это так…

    Как в анекдоте:

    — Пароль?

    -Пуля

    -Да не пуля, а граната! Проходи 😉

    Reply
  74. zakazchik

    ТАК и пиши — ТОЛЬКО ДЛЯ РАЗРАБОТЧИКОВ и не пили мозги простым патцанам про плюсики и бесплатность.

    Reply
  75. O-Planet

    Потерпите немного!!! Как метко указал тов. Альф, поскольку разработка предполагается бесплатной, я не смогу все время уделять только ей.

    1. К вопросу о доступности кода для разных кулибиных… Именно сейчас предпринимаются шаги по этому вопросу.

    2. «Только для разработчиков» будет убрано, как только комментарии Альфа станут другими 🙂 И это будет скоро.

    Резюме… Ждите версию 1.1

    Reply
  76. АЛьФ

    2(75) Боюсь, что тебе очень долго придется ждать, что мои комментарии станут другими 🙂

    Для этого тебе как минимум надо изменить подход к защите и отказаться от шифрования. Вот тогда можно будет серьезно что-то обсуждать.

    Reply
  77. Bod

    По-моему неплохо

    Reply
  78. АЛьФ

    Мда…

    А ведь artbear привел готовый код ломалки для этой «защиты».

    Плохо… очень плохо… совсем плохо…

    Reply
  79. АЛьФ

    Извини, O-Planet, но я изменю свою оценку. На плюс все же никак не тянет.

    Надеюсь, минус тебя как-то вдохновит прислушаться к «старшим товарищам» 🙂

    Reply
  80. O-Planet

    Я был вдохновлен уже…

    Reply
  81. Abadonna

    Планет, ты ответь на (71)

    Тот код был зашифрован или не тот?

    А то мне влом проверять

    Reply
  82. O-Planet

    Ты не понял. 1С++ позволяет увидеть текст модуля. Лучше проверить, потому что не факт, что там будет уже расшифрованный, если она этот текст цепляет из md. В md сидят вот такие строки: 2HEрlм78щOGomoPbдu0yгAOxOр8zтyQiаuJyYяz2дьrAнlтmahьbWмцVэ6o

    Reply
  83. АЛьФ

    2(82) Мне было не лень, проверил. Выдает расшифрованый текст.

    Reply
  84. vip

    > 2(82) Мне было не лень, проверил. Выдает расшифрованый текст.

    Эх, поломал пацану весь праздник :)))

    to O-Planet. Заметь, фокус проделан при помощи БЕСПЛАТНОЙ компоненты FormEx

    Reply
  85. Abadonna

    (83,84) Тогда могу только повторить; пароль не пуля, а граната, проходи! :)))))))))))))))))))

    Reply
  86. Abadonna

    Не поленился…

    1. Документ АвансовыйОтчет: зашифровал все процедуры, элементарная вставка текста из буфера выдает «получаемая строка превысит допустимые размеры» (-1)

    2. После запуска ИБ — ну, блин, ваще «извините, время использования демо-версии закончилось» (-100)

    Итого: 0.3х3 = 90 копеек с Планета за трафик+ 10 минут моего времени — 50х10=500 евро

    Reply
  87. vip

    > Итого: 0.3х3 = 90 копеек с Планета за трафик+ 10 минут моего времени — 50х10=500 евро

    Маловато будет.

    Не забывай, что автор добился таки основной цели — прогремел в панфары.

    Требуй процент с его будущих доходов:)

    Reply
  88. andrewalexk

    (87)

    🙂

    «прогремел в панфары» — в мемориз..

    😉

    Reply
  89. Abadonna

    (88) Да уж… Учитесь у Абадонны, кладет тихо-мирно, ни единой строчки «плюсуйте рейтинг» (не на помойке себя нашел, милостыню просить) ;)))))))))))))))))))))))))))))

    Reply
  90. vasilykushnir

    (89) Сильно сказано, кстати о птичках, то бишь о пиаре…

    Reply
  91. Bod

    Неплохо

    Reply
  92. Abadonna

    На пост Bod плюс поставил Bod-cv. Следующий будет Bod-cv+ или Bod-cvx ?

    Reply
  93. O-Planet

    (89) Ну, могу только пожелат, чтобы от клиентов не было отбоя. А мы не гордые. Попиаримся…

    Reply
  94. vip

    to O-Planet

    Прокомментируй, плиз, (83)

    А то, видимо, не все поняли.

    Reply
  95. lustin

    всё-таки наверное надо что-то делать с (83)

    Reply
  96. O-Planet

    Похоже, я в тебе сильно ошибся.

    Хорошо. Что мне делать? Тему закрыть, топ снести? Переписать все на С++ и заменить кодирование компилирование? И получится через пару лет КЗК от O-Planet. Разумеется, он будет хуже твоего. Поэтому, события надо форсировать и искать альтернативное решение.

    Я пальцем не пошевилил, чтобы привлечь к этому топу народ. Напротив, закрыл для всеобщего обозрения скачивание, чтобы только мнение коллег услышать и принять к сведению. Вот если бы открыл, рейтинг бы точно до 100 поднялся думаю 🙂

    всё-таки наверное надо что-то делать с (83)

    Дык а я чем занимаюсь?

    Reply
  97. АЛьФ

    2(19) Уверяю. На существующем уровне реализации что строки, что методы — одинаково легко и автоматически восстанавливаются в исходный вид.

    Reply
  98. Abadonna
    Код
    Процедура Сформировать()
       Сообщить(GoldenKey.Get(8));
       Сообщить(GoldenKey.Get(10));  
       Сообщить(ТипЗначенияСтр(GoldenKey.Call(0,13))+"."+GoldenKey.Call(0,13).Вид());
    КонецПроцедуры
    

    Показать полностью

    В окне сообщений имеем:

    Это готовое блюдо (Да) или полуфабрикат (Нет) ?

    Отмена

    Справочник.Номенклатура

    —————————————————

    Ну может не 2 часа, как Альф говорил, а часа четыре… 😉

    Reply
  99. Плюшкин_

    Перем GoldenKey ;

    Процедура Сформировать()

    GoldenKey.Execute(0,5);

    Сообщить(GoldenKey.Get(4));

    ;GoldenKey.Execute(0,6);

    КонецПроцедуры

    Процедура ПриОткрытии()

    ЗагрузитьВнешнююКомпоненту(КаталогИБ()+»GoldenKey.dll»);

    GoldenKey=СоздатьОбъект(«AddIn.GoldenKey»);

    КонецПроцедуры

    1С валится 🙁

    Обнаружила ошибку,приложение будет закрыто.

    Я конечно понимаю,что нужно в ПриНачалеРаботыСистемы.Но ведь стоял вопрос про защиту ВНЕШНИХ обработок.А если в МД можно лезть,так нафига тогда эти внешние обработки ? С таким же успехом можно и встроить в МД.

    Так все же,внешние защищает ? Без изменения МД.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *