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




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

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

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

<?php // Полная загрузка сервисных книжек, создан 2026-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 не будет опубликован. Обязательные поля помечены *