И ещё несколько слов о защите разработок…




Принцип обмена данными из 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='\

73 Comments

  1. German

    За 6

    Reply
  2. АЛьФ

    1. Вообще-то защищенный код никогда не дорабатывается. Для этого держат копию в открытом виде. Но в основном согласен, что готовые декомпиляторы практически свели эту защиту к фикции.

    2. На самом деле вариант это применяется достаточно часто, т.к. действительно является самым надежным.

    3. Любую защиту, которая сохраняет что-либо в открытом виде на диск даже рассматривать не имеет смысла.

    4. Надежность этого метода не выше, чем при сохранении кода на диск. Пример первой версии КЗК явно доказал, что взломщику безразлично в памяти код сохраняется или на диске. Если код появляется в открытом виде, значит защиты считай уже нет.

    5. То же, что и предыдущий пункт.

    6. А вот это единственный достаточно надежный вид защиты для тех, кто не хочет платить за вынос функционала в dll.

    Reply
  3. ValeriVP

    (2) позволю себе не согласиться 🙂

    1 Защищенный код дорабатываетс, когда нет оригинала 🙂

    2 В общей массе очень мало примеров, из этого я сделал вывод что редко. Есть примеры? я могу вспомнить только ИТРП

    3 но не стоит забывать, что 1С сама пытается сохранять на диск открываемые обработки

    4 не правда. это уже не вскроешь на коленке, без использования каких либо дополнительных инструментов кроме мозга и 1С. также мне интересно, как снять дамп, когда текст появляется в памяти на долю секунды?

    5 я согласен, что это слабая защита

    6 это очень спорный момент, например я уже практически сделал для себя редактор п-кода

    Reply
  4. awa

    (3) «6 это очень спорный момент, например я уже практически сделал для себя редактор п-кода»

    Это примерно как разбираться с дизассемблированным кодом — при достаточно больших объемах кода понять суть алгоритма практически невозможно (я говорю про обфусцированный п-код). Дело усугубляется тем, что нет отладчика в таком режиме. Конечно, при очень большой настойчивости, взломать можно практически всё)) Но в любом случае такой взлом не будет хоть сколько-нибудь автоматизирован и следовательно доступен широким массам. Разработка же специализированных декомпиляторов обфусцированного кода — задача на порядок сложнее разработки декомпиляторов простого п-кода, и при этом результат все равно не будет сколь-нибудь удовлетворительным, так как в обфусцированном коде происходит большая потеря информации по сравнению с просто п-кодом (в простом п-коде потеряна информация только о комментариях).

    Reply
  5. ValeriVP

    (4) для рассуждения на эту тему, надо изначально определиться с понятиями. а именно — какова цель защиты конфигураций.

    для себя я принял позицию — для возможности лицензирования использования.

    в этом случае есть привязка к ключу, файлу лицензий, …

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

    для выполнения этой задачи не обязательно анализировать полностью весь код, достаточно найти условие проверки ключа, и его изменить / удалить.

    поэтому я считаю наиболее надежным на данный момент средством защиты — шифрование обработок. кстати говоря это наиболее простое средство.

    Reply
  6. АЛьФ

    2(3)

    1. Код, который требует доработки, ни в коем случае нельзя защищать. Это азы корректного отношения с клиентом.

    2. У нас очень разный взгляд на общую массу. В моей лично практике (особенно до появления КЗК :)) практически все защиты были именно на этом основаны. ИТРП — это просто самый яркий пример из-за своей распространенности.

    3. Именно поэтому кодировать разработку целиком (а не только код) особого смысла не имеет.

    4. Мне кажется, что «защиту», которая вскрывается просто «на коленке» без каких-то средств, даже упоминать нет смысла. И совершенно не важно на сколько появляется в памяти код. Да хоть на один такт процессора. Ставим точку останова в отладчике и получаем все, что хотим. Естественно, я не про отладчик 1С говорю.

    5. —

    6. Ну и что даст это редактор практически? Автоматизировать восстановление грамотно «обработанного» п-кода практически невозможно. На выходе получится исходник, который придется практически полностью переписывать ручками. Так зачем тогда вообще что-то декомпилдировать? Проще уж сразу переписать защищенный код, как это делается для кода, зашитого в dll.

    Reply
  7. АЛьФ

    2(5) Еще раз — шифрование перестало быть актуальным уже много лет назад, после выхода КЗК-2. Для восьмерки же оно вообще ни когда актуальным не было.

    Reply
  8. ValeriVP

    (7) почему? Я имею в виду шифрование внешними средствами. Например ИЗК (http://www.intelis-it.ru/software/intelis/ae6869a7d43c303d.html ).

    (6)

    1 да, но разработчик закрыл все и тексты не давал 🙂

    2 т.е. других примеров нет? да, некоторые конфигурации так защищались, но очень мало

    3 «но не стоит забывать, что 1С сама пытается сохранять на диск открываемые обработки» — тут важное слово «пытается» 🙂 (в случае использования ИЗК)

    4 и тем не менее такая защита активно используется — Катран, для взлома не надо никаких инструментов. а отладчик (не 1С) — это уже большая проблема для 99% жаждующих

    5 —

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

    Reply
  9. АЛьФ

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



    1. На фиг такого разработчика.

    2. Ну, перечислю я несколько фирм, о которых ты даже не слышал, легче от этого станет? Хочешь считать, что не распространено, считай. Я только на основании своего опята высказался.

    3. Еще раз — по фиг где и на сколько появаляется обработка в открытом виде. Если она появилась, то она уже не защищена.

    4. Что-то я не видел удачных взломов Катрана. Можно какую-нибудь ссылку? 99,9% страждущих не будут сами даже пытаться что-либо взломать. Они просто кинут на любом форуме просьбу и тут же найдется 0,1% для которых отладчик — дом родной.

    5. —

    6. Отложим это на некоторое время. Ты уже кинул подобную заяву в другой ветке (на которую тут ссылаешь) и на мое встречное предложение пока как-то не сильно отреагировал.

    Reply
  10. ValeriVP

    (3) не думаю, что ты прав. конечно все ломается, но для теста использования мы выложили полнофункциональную версию системы, взлом которой у многих займет достаточно времени, чтобы отбить охоту. конечно могут найтись товарищи, для которых это не составляет труда, но таких мало.

    (4)могу продемонстрировать (но нужен ключ), ссылки не дам, ибо сам не видел, и описывать процесс не буду. скажу только что вариантов несколько. %% — ты занимаешься взломом за деньги? я нет, т.е. одним из 0.1% меньше.

    Reply
  11. MMF

    (9) я знаю успешный взлом Катрана. Понадобилось пару часов.

    Reply
  12. АЛьФ

    2(10)

    3. Ты выложи для теста защищенную обработку, которую можно будет запустить у себя. Кстати, тебя об этом давно уже просили.

    4. Не считаешь, что это твое утверждение несколько противоречит предыдущему: «Катран, для взлома не надо никаких инструментов»?

    Reply
  13. АЛьФ

    2(11) Перечисли, плиз, инструменты, которые для этого использовались.

    Reply
  14. Abadonna

    (10)>это не составляет труда, но таких мало.

    Чё-то сильно подозреваю, что АЛьФ из «таких мало» 😉

    Так что с шулером за один карточный стол лучше не садись :)))))))

    Reply
  15. ValeriVP

    (11) это первый раз так долго :), или метод какой новый придумали

    (12)

    3. Тут полный пакет: http://www.intelis-it.ru/software/intelis/ae6869a7d43c303d.html — можно самому сделать обработку и ломать на здоровье

    4. не, ну ключ конечно надо. что, я враг себе, расшифровывать обработку без ключа?

    (13) ключ, мозг, 1С

    (14) не сомневаюсь, но в любом случае — таких мало

    Reply
  16. АЛьФ

    2(15) Еще раз: выложи для теста защищенную обработку, которую можно будет запустить у себя. Неужели это так сложно?

    Reply
  17. MMF

    (15) это точно, речь именно о первом опыте взлома катрана

    Reply
  18. ValeriVP
  19. АЛьФ

    2(18) Что-то не открывается у меня этот файл в 1С.

    Reply
  20. ValeriVP

    (19)естественно, его можно открыть через ВК, а компонента, драйвер и ключ лежит тут: http://www.intelis-it.ru/software/intelis/ae6869a7d43c303d.html

    а без ВК, драйвера и ключа — только (6)

    Reply
  21. АЛьФ

    2(20) Ай, какой молодец! Т.е. полностью проигнорировал слова «которую можно будет запустить у себя». Молодец!

    Reply
  22. АЛьФ

    Давай пойдем другим путем. Представь, что я твой потенциальный клиент и прошу прислать демо твоей разработки. Твоя задача — дать мне эту дему, чтобы я без лишних вопросов мог ее запустить и посмотреть в работе.

    Reply
  23. ValeriVP

    (21) почему? если только по тому, что чтобы можно было запустить, необходимы дополнительные компоненты, ну тогда извините…

    для КЗК ничего дополнительного не надо?

    Reply
  24. ValeriVP

    (22) легко, но надо сделать обработку-конверт, включающий ВК, драйвер, ключ и защищенную обработку.

    Reply
  25. АЛьФ

    2(23) Для КЗК все прозрачно для клиента. Он просто запускает внешнюю обработку и работает с ней, как с любой другой.

    2(24) Т.е. ты предлагаешь своим клиентам самим писать запускающие обработки, разбираться какой еще нужен софт и т.д.?

    Reply
  26. ValeriVP

    (25)т.е. обычная, не измененная 1С без всяких доп. компонет понимает обработку защищенную КЗК? тогда давай обработку

    если кому-либо из наших клиентов понадобится защитить одну отдельно взятую обработку, мы поможем ему в этом вопросе. но в плане разбираться какой нужен софт — ВЕСЬ нужный софт поставляется вместе с комплектом разработчика ИЗК

    Reply
  27. АЛьФ

    2(26) Я не сказал «без всяких доп.компонент». Я говорю, что для клиента это прозрачно. Он просто получается ert и dll, сохраняет их в любое место и просто запускает ert, как обычно.

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

    Reply
  28. ValeriVP

    (27) я точно не разбирался, как работает КЗК, но думаю понял — обработка содержит в себе нужный текст (в комментариях) и конверт (открытый текст), далее загружается DLL (она должна лежать в том же каталоге), остальное понятно.

    наш вариант отличается только тем, что используется механизм лицензирования HASP SRM, который можно использовать и для ограничения лицензий в сети.

    т.е. обработка, защищенная ИЗК может считать количество экземпляров, запущенных в сети (правда только при наличии физического ключа).

    Reply
  29. АЛьФ

    2(28) Мы говорим о том, что я прошу представить, что я клиент и прошу прислать мне защищенную демку обработки, которую я смогу у себя запустить. Подразумевается, что в архиве будет все необходимое для запуска и хоть какая-то инструкция, если перед запуском необходимо произвести некие дополнительные действия.

    Что в этом сложного?

    Reply
  30. АЛьФ

    +(30) Например, чтобы организовать такую демку с помощью КЗК (для 7.7, естественно) мне понадобиться минут 5. Скажи хотя бы сколько на это надо времени с помощью твоей разработки.

    Reply
  31. ValeriVP

    (30) ничего сложного, но это час работы, а ты не клиент 🙂

    а желающие посмотреть, и так могут получить все необходимое, и плюс к этому еще и конструктор/тестовый стенд

    Reply
  32. АЛьФ

    2(32) Час? Фига себе…

    Reply
  33. ValeriVP

    (31) разница во времени только по тому, что ты уже делал подобное. При использовании нашей разработки после однократного создания конверта (т.е. час) — те же самые 5мин или меньше

    Reply
  34. АЛьФ

    2(34) Разница во времени по тому, что КЗК на выходе дает полностью работоспособную обработку, которую надо просто запустить. А у тебя получается для запуска каждой обработки надо еще одну обработку самому писать. Весело… Надеюсь, вы своих покупателей об этом предупреждаете.

    Reply
  35. Abadonna

    (26)>)т.е. обычная, не измененная 1С без всяких доп. компонет понимает обработку защищенную КЗК?

    Абсолютно не измененная 1С запросто понимает, при условии наличия precomp.dll, которая и компилирует p-коды. Т.е. все абсолютно так, как и должно быть 😉

    Reply
  36. Abadonna

    +(36) Я бы и сам АЛьФа с удовольствием на чем-нить тут поймал, да, блин, не на чем :)))

    Reply
  37. Abadonna

    А вообще, КЗК-2 неактуально (тут бы открытые коды как-нить продать ;)), а вот Formex при наличии мозгов столько возможностей открывает! Плюс-плюс-плюс 🙂

    Reply
  38. ValeriVP

    (35)перебор

    1) мы не позиционируем систему ИЗК как механизм защиты отдельно взятых обработок, а как пакет, позволяющий лицензировать использование конфигураций в целом. Для облегчения этой задачи был создан конструктор исходного текста на языке 1С. Т.е. в простейшем случае не надо писать ни одной строчки — комплект разработчика выдает готовый код (при этом можно выбрать даже язык представления методов компоненты — RU/EN)

    2) в случае возникновения у нашего клиента задачи защитить одельно распространяемую обработку — эта задача достаточно легко решается. И для защиты обработки не надо каждый раз писать еще одну — конверт достаточно сделать однократно, и в него можно вкладывать любую обработку (или если надо — несколько)

    3) Если бы для работы конфигурации/обрабоки, защищенной ИЗК не требовался бы ключ HASP, мы бы тоже обошлись бы одной dll. Но это не изменяет подхода — требуется открытый текст, который запускает защищенный функционал. В КЗК этот текст в модуле обработки, в ИЗК — должна быть отдельная обработка, у которой в макете (например) лежит защищенная обработка и dll.

    4) но ИЗК требует для работы ключ. Он используется в т.ч. и для лицензирования. И система лицензирования HASP SRM была выбрана не случайно — более гибкой настройки схем лицензирования не предлагает ни один разработчик систем защиты.

    Reply
  39. АЛьФ

    2(39) Ну, если с обработками такие жуткие сложности… Хоть что-то работоспособное и защищенное ты можешь выложить?

    Reply
  40. ValeriVP

    (40) я вроде как выложил… см.(18) это если самому трудно нажать несколько кнопок…

    Reply
  41. АЛьФ

    2(41) Если бы там хоть на пару строк было описание какие и где надо кнопки нажать… Я же уже написал, что сама 1С не хочет открывать этот файл. Ты выложил некий файл, но абсолютно непонятно что с ним делать.

    Reply
  42. ValeriVP

    но вообще мне надоело.

    Итог:

    я никогда не хотел сказать что КЗК — г…, тем более что ИЗК разрабатывалась под 8.1 и никак иначе, а КЗК работает только под 7.7.

    и вообще, тема была о методах защиты в принципе и возможных реализациях в частности.

    Система ИЗК использует методику (3) и (4) для реализации лицензирования конфигураций на 8.1. Но в принципе может использоваться с минимальными трудозатратами и для защиты отдельных обработок.

    я считаю, что АЛьФ умный человек и хороший специалист, не смотря на то, что планирует вывести на рынок конкурирующий продукт.

    я считаю, что система лицензирования HASP SRM лучшая из имеющихся на рынке.

    я знаю, что системы защиты от Катран ломаются за 5мин

    я знаю, что любая система защиты ломается, только время может быть разным

    Reply
  43. ValeriVP

    (42) конструктор сам переключает закладки, в том порядке, в котором надо.

    единственно, ПЕРВЫЙ раз, на закладке «Установка параметров ключа» надо нажать ссылку «Зашифровать код разработчика».

    все необходимые файлы лежат в каталоге «C:Program Files1cv81 mpltsIntelisИЗК1.03ДемоДанные»,

    кроме компоненты, она лежит в каталоге «C:Program Files1cv81 mpltsIntelisИЗК1.03»

    система запоминает указанные параметры для в зависимости от введенного имени объекта.

    Reply
  44. АЛьФ

    2(43) Я пытался тебе показать, что использование шифрования абсолютно бессмысленно, но ты предпочитаешь оставаться в собственном заблуждении. Что ж, это твой выбор. Мне тоже надоело.

    Хочу еще только добавить, что ко мне недавно обратились за помощью в защите разработки под 8.1, я первым делом порекомендовал посмотреть ИЗК. Люди посмотрели, им это показалось слишком заморочным и не тривиальным в использовании. В итоге они опять вернулись ко мне с просьбой вынести функционал в dll.

    Я это к тому, что дружественней надо быть к потенциальным клиентам, а не давать им непонятное нагромождение в расчете, что они сами во всем разберуться и купят ИЗК. Ближе надо быть к народу.

    Reply
  45. АЛьФ

    2(44) Вот ты действительно считаешь, что стало хоть немного понятней как мне запустить выложенную тобой обработку на моей конфиге? Из твоих слов только создается впечатление, что ИЗК — это какая-то вещь в себе. Типа сама шифрует, сама запускает. Но тогда практическая ценность от нее нулевая.

    Reply
  46. ValeriVP

    (45) использование шифрования — я не вижу другого пути. есть конечно (6), но…

    использование ИЗК — в версии 1.04 (скоро) будет я надеюсь более понятно.

    (46) запустить обработку в нужной конфиге — надо написать соответствующий код. что именно написать — для этого есть комплект разработчика ИЗК. Достаточно с помощью конструктора понять, какие шаги надо выполнить, и скопировать созданные тексты в реальную конфигу.

    типа сама шифрует, сама запускает — да одна компонета выполняет всю работу. а приложенная конфигурация/обработка (SDK) — демонстрирует возможности компонеты, и методы работы с ней, и не предназначена для глобальной автоматизации установки защиты и ее использования.

    Reply
  47. Zloy1C

    (46) странно, а мне понятно как она работает

    а новый «экспрес» режим не понравился

    Reply
  48. kayen

    А реально кто нибудь может помочь с катраном?

    Reply
  49. ValeriVP

    (49)а какие проблемы?

    Reply
  50. MagicCat

    (43) «я знаю, что системы защиты от Катран ломаются за 5мин»

    (50) если действительно знаешь как, кинь ссылку на какую-нибудь инфу по этому поводу.

    Reply
  51. ValeriVP

    (51) может, тебе и ключ от квартиры, где деньги лежат? (с) «12 стульев»

    вот ссылка: http://infostart.ru/public/57362/?PAGEN_1=3#comm

    демонстрация — за отдельную плату. методики не разглашаю (или за дорого).

    Reply
  52. sytkosa

    (52) Что-то мне здается что Rebelx пытается пропиарить свою супер-пупер чудо-юдо защиту (ИЗК) Альф тебе правильно говорит что шифрование для 1С 8 это лишнее награмождение… так как никто не будет ламать сам процесс шифровки и расшифровки… поступят проще поставят бряк там где уже все было расшифрованно… считаю концепцию защиты реализованной в КЗК-2 лучшей для зашиты программ на базе 1С.

    Альф ждемс твой продукт по защите 1С 8… делай его в русле КЗК-2 и ты всех своих конкурентов заткнешь за пояс (конкуренты без обид)

    Reply
  53. ValeriVP

    (53) …поступят проще поставят бряк там где уже все было расшифрованно…

    — не вопрос 🙂 а только ты найди такую точку — все же в открытом доступе, бери да ломай

    а концепция Альфа — была реализована в платформе 1С 8.x — поставка без исходных текстов, и этот скомпилированный код как не странно тоже шифровался и расшифровывался перед выполнением полностью (Альф поправь если я не прав). Т.о. задача сводилась к декомпиляции. Для 8.х эта проблема решена, а для 7.7 наверное просто небыло людей, которые захотели бы заплатить за взлом

    Reply
  54. ValeriVP

    (55) Почему одну демагогию?

    я лично реализовал два метода из описанных:

    http://infostart.ru/public/68368/ — методика 6

    http://infostart.ru/public/16567/ — методика 3

    а так же я реализовал методику промышленного взлома защиты СЗК и ИЗК1 (т.е. любой вариант по методике 3) — но это «только для сэбэ» или за вознаграждение.

    Reply
  55. ZLENKO

    Мне 1С нравится в первую очередь именно по причине открытого исходного кода конфигураций.

    Как разработчику мне конечно хотелось бы защитить некоторые свои разработки от нелегального копирования.

    Однако как клиент я сам никогда не куплю конфигурацию с закрытой частью исходного кода.

    Единственное применение защиты, которое я считаю приемлемым — демо версии.

    Однако для демо версии не может идти речь ни о каких ключах защиты.

    В остальных случаях — я за открытый исходный код!

    Reply
  56. detec

    Полностью согласен с (57). Защищать есть смысл только то, что никто не будет дорабатывать и развивать по причине ненадобности. Какой-нибудь уникальный отраслевой алогоритм, ноу-хау. Но мне почему-то кажется, что на платформе 1С 8 таких алгоритмов, годных к тиражированию и промышленной эксплуатации без доработок, — очень мало. Драйвера и обвязку к какому-то конкретному железу в расчёт не берём.

    Те же, кто готов предложить что-то действительно уникальное и ценное — тот пишет код на универсальных языках и продаёт дистрибутивы с экзешниками и длл-ками, под х32 и х64, с поддержкой разных поколений Windows.

    Reply
  57. linsa

    Ребят, все это хорошо, но что-то не могу найти в дампе памяти секции «Cmd» в полном объеме. Может отладчик не тот?

    Назовите отладчик, пожалуйста!

    Обо мне: защиту ломать самому не приходилось, платить за это — тож не собираюсь. Ключ от конфигурации (Катран) — имеется. Хочу лишь сам для себя проверить верность утверждения о возможности достаточного быстрого извлечения псевдо-кода. Пока результат такой: пол часа ушло на извлечение всех секций, кроме «Cmd», которая размыта в памыти и собрать ее не получается.

    Вот и думаю «Может знающие люди не тот отладчик юзают»?

    Спортивный интерес, но вот уже неделю не сплю… знаю, вытащить можно, но не получается.

    Reply
  58. linsa

    Победил таки… но есть сомнения, что Олька рулит.

    (Я тут ник изменил… странно как-то в таких случаях форум работает)

    Reply
  59. ValeriVP

    Для Катрана есть очень простая эффективная методика. Никаких дампов памяти и пр.

    Reply
  60. iov

    (0) Шо опять?

    Reply
  61. lev6975

    (57) Z-z-z, ну,исходники всегда нужны,не было бы меценатов-альтруистов,которые купят у Вас полный исходник,а,потом,просто,выложат…или,того хуже,найдутся такие,которые будут его,ещё и продавать за полцены…Россия…)))

    Reply
  62. lev6975

    (61) Смапить содержимое ключика на флешку?)))

    Помню,когда-то,в прошлом десятилетии кто-то делал такое,но,на HASP — превращали обычную флешку в ключ защиты:-)

    Reply
  63. Steelvan

    (63) lev6975,

    Во многих западных странах все с этим гораздо хуже.

    Раздражают такие диванные специалисты, которые чуть что, типа «Россия, и этим все сказано».

    Сами максимум на дачу ездили, знатоков из себя строят.

    Reply
  64. ValeriVP

    (64) Ты говоришь глупость. Ключ — не флешка. Флешка — это хранилище данных, ключ — специальный микрокомпьютер, с процессором, памятью и интерфейсом USB.

    Reply
  65. vdv2701

    Здравствуйте! Подскажите пожалуйста, а как можно защитить данные типовой конфигурации от копирования? Допустим, что я привязал базу к железу и надежно защитил свой код. Но ведь можно просто заменить защищенный код на код типовой конфигурации и получить доступ к данным. У меня файловый вариант базы.

    Reply
  66. ValeriVP

    (67) в файловом варианте — практически никак

    Reply
  67. vdv2701

    И даже шифрование диска на лету не поможет? Или это будет сильно тормозить работу?

    Reply
  68. pvvpvv

    Универсальная защита кода бессмысленна априори — нет защиты, которую нельзя взломать. Возможна только временная локальная защита.

    Reply
  69. ValeriVP

    (69) нет смысла. см (68)

    Reply
  70. ValeriVP

    (70) Критерий качества системы защиты — цена взлома должна быть соизмерима со стоимостью защищаемого продукта.

    Reply
  71. timurhv

    СЛК — столько проблем с ключами, переактивацией… А исходный код обработок сохраняется в 6 строк кода без эмулятора и дампов (проверено на 3.0).

    Reply
  72. Andrey73

    (74) Может подскажите?

    Reply
  73. VeronH

    (74)Помоги, с кодом, можно в личку.

    Reply

Leave a Comment

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