Страница 1 из 1

Кодирование php скрипта в Human Emulator Studio

Добавлено: 22 сен 2020, 13:05
XwebDeveloper
В версии 7.0.52 был добавлен функционал для кодирования скриптов.

Данный функционал можно использовать для кодирования исходников скрипта.

Как это работает?

Всё очень просто. С помощью пункта меню Скрипты->Кодировать php скрипт
code_script1.jpg
code_script1.jpg (16.85 КБ) 2142 просмотра
открывается диалог кодирования скрипта:
code_script2.jpg
code_script2.jpg (33.69 КБ) 2142 просмотра
В этом диалоге вы выбираете скрипт и пароль для его кодировки. После нажатия на кнопку Кодировать в той же папке, где лежит кодируемый скрипт, появится закодированная версия скрипта.

Для запуска скрипта откроем его в редакторе скриптов. Для этого нажимаем пункт меню Файл->Открыть и в диалоге открытия выбираем тип файлов кодированные скрипты. Выбираем нужный и открываем его.
code_script3.jpg
code_script3.jpg (107.11 КБ) 2142 просмотра
Кодированный скрипт откроется в редакторе в виде:
code_script4.jpg
code_script4.jpg (8.95 КБ) 2139 просмотров
Запускаете его на выполнение как обычный скрипт. Во время запуска появится окно с полем для ввода пароля:
code_script5.jpg
code_script5.jpg (21.15 КБ) 2139 просмотров
Если вы введёте правильный пароль то скрипты продолжит работу.


Для того что бы при каждом запуске скрипта не выводилось окно ввода пароля можно задать пароль в настройках программы:
code_script6.jpg
code_script6.jpg (103.88 КБ) 2139 просмотров
Или можно использовать параметр командной строки в следующем виде: /decode_script_password:"123123"

Все параметры командной строки можно посмотреть в нашем блоге

Re: Кодирование php скрипта в Human Emulator Studio

Добавлено: 22 сен 2020, 13:55
k907
Добавьте пожалуйста возможность выбрать папку для кодирования, а не отдельный файл.

Re: Кодирование php скрипта в Human Emulator Studio

Добавлено: 22 сен 2020, 14:08
XwebDeveloper
k907 писал(а):
22 сен 2020, 13:55
Добавьте пожалуйста возможность выбрать папку для кодирования, а не отдельный файл.
Этот пункт уже есть в нашем todo.

Re: Кодирование php скрипта в Human Emulator Studio

Добавлено: 22 сен 2020, 14:11
spaiker
У меня возник такой вопрос - вот мы закодировали скрипт с помощью пароля и передали его клиенту, а клиент взял его и с эти паролем и распространил. Исходники не видно, но как сделать так что бы скрипт запускался только у конкретного человека?

Re: Кодирование php скрипта в Human Emulator Studio

Добавлено: 22 сен 2020, 14:16
k907
spaiker писал(а):
22 сен 2020, 14:11
У меня возник такой вопрос - вот мы закодировали скрипт с помощью пароля и передали его клиенту, а клиент взял его и с эти паролем и распространил. Исходники не видно, но как сделать так что бы скрипт запускался только у конкретного человека?
При кодировании скрипта кроме пароля, указывать id лицензии хумана на которой скрипт будет работать. Мне кажется это самое простое решение.

Re: Кодирование php скрипта в Human Emulator Studio

Добавлено: 22 сен 2020, 14:19
XwebDeveloper
spaiker писал(а):
22 сен 2020, 14:11
У меня возник такой вопрос - вот мы закодировали скрипт с помощью пароля и передали его клиенту, а клиент взял его и с эти паролем и распространил. Исходники не видно, но как сделать так что бы скрипт запускался только у конкретного человека?
Как вариант в программе есть функция $app->get_install_id. Запускаете эту функцию на компьютере у клиента и получаете его install id, а в начале вашего скрипта добавляете код сравнивания:
if($app->get_install_id()!="инстал id клиента")
   $app->quit();
Если скрипт будет запускаться на другом компе, то он не будет работать.

Re: Кодирование php скрипта в Human Emulator Studio

Добавлено: 22 сен 2020, 14:25
spaiker
Спасибо. Про app->get_install_id не знал).

Re: Кодирование php скрипта в Human Emulator Studio

Добавлено: 17 янв 2021, 17:45
sejzhi
1) Не пойму, ошибка на пустом месте ((
pass.jpg
pass.jpg (88.65 КБ) 1959 просмотров
2) Оказывается кодированный класс, как require подгрузить невозможно (( ну или придется php.ini править всем клиентам.
3) +1 для кодирования папки целиком.

Re: Кодирование php скрипта в Human Emulator Studio

Добавлено: 21 янв 2021, 22:53
bigfozzy
По первому пункту не получилось повторить ошибку.

Для примера брали этот скрипт(Ansi), кодировали паролем 123
<?php

$xhe_host = "127.0.0.1:7015";

// The following code is required to properly run Script
require("../Templates/xweb_human_emulator.php");

echo "ok";

// Quit
$app->quit();
?>

Re: Кодирование php скрипта в Human Emulator Studio

Добавлено: 21 мар 2021, 18:45
sejzhi
Спс bigfozzy за патч.
Проверил, шифрует/дешифрует корректно.
А то я 2 месяца мучился без шифрования кода - требовалось запустить скрипт на сервере, но чтобы не стырили :D
Если бы еще (как писали выше) всю папку кодировать, ваще было бы отлично.

Re: Кодирование php скрипта в Human Emulator Studio

Добавлено: 16 июл 2022, 22:41
pash_a
закодировал новосозданный скрипт, при запуске кодированного

Parse error: syntax error, unexpected `$xhe_host` (T_VARIABLE) in Command line code on line 3
PHP Parse error: syntax error, unexpected `$xhe_host` (T_VARIABLE) in Command line code on line 3
версия хум. 7,0,55.

Вопрос снят, надо удалять эту строчку, без нее работает

Re: Кодирование php скрипта в Human Emulator Studio

Добавлено: 16 июл 2022, 22:43
pash_a
Запускаете эту функцию на компьютере у клиента и получаете его install id, а в начале вашего скрипта добавляете код сравнивания:
if($app->get_install_id()!="инстал id клиента")
   $app->quit();
Если скрипт будет запускаться на другом компе, то он не будет работать.
[/quote]
защита не надежная, зная instal id, который закодирован в скрипте, запустить скрипт не составляет труда.

Re: Кодирование php скрипта в Human Emulator Studio

Добавлено: 17 июл 2022, 18:21
bigfozzy
Ну можно еще к MAC адресу привязаться: $connection->get_mac_address_by_number

А можно вообще со своего сервера require делать :
https://www.php.net/manual/en/function.include.php