ioncube php encoder 10

Ликбез по IonCube

IonCube — это набор утилит для командной строки, которые позволяют производить кодирование, обфускацию и лицензирование исходного кода, написанного на языке php.
Функционал IonCube очень обширен что бы о нем можно было написать в одной статье. Под катом я опишу основной функционал IonCube, который необходим для защиты кода от не лицензионного использования.

Список понятий

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

2. Обфускация — приведение исходного кода программы к виду, сохраняющему ее функциональность, но затрудняющему анализ, понимание алгоритмов работы и модификацию.

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

Необходимое ПО

1. IonCube Encoder — набор бинарных файлов для разных ОС, при помощи которых можно кодировать исходный код, производить его обфускацию и генерировать лицензии. Платное ПО, но можно скачать триал версию.

Кодирование и обфускация исходного кода

В зависимости от версии PHP под которую написан код, IonCube Encoder предоставляет следующие бинарные файлы для выполнения кодирования и обфускации: ioncube_encoder, ioncube_encoder5 или ioncube_encoder53
Формат команды следующий:

./ioncube_encoder –o [options]

Ниже я перечислю основные опции необходимые для кодирования и обфускации кода:

—replace-target — опция говорит енкодеру что надо полностью заменить целевой каталог или файл, если он уже существует, новым каталогом или файлом. Например:

—copy @ — опция говорит енкодеру что надо копировать указанный файл или каталог (и все его подкаталоги) без кодирования его содержимого. Знак @ говорит о том, что путь к копируемому файлу или директории надо искать от корня кодируемой директории. Т.е. если было указано копировать каталог configs, то будет копироватся только каталог configs котороый лежит в корне кодируемой директории, а не например в подкатегории example/configs. В качестве примера можно привести каталог где лежат конфигурационные файлы и которые кодировать не нужно:

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

—obfuscate — запускает процесс обфускации кода, в качестве объектов, к которым применяется обфускация могут быть: functions, linenos, locals или all. Например:

—obfuscation-key «some_unique_key» — обязательный параметр для обфускации, который задает уникальный ключ, что делает практически невозможным процесс декодирования кода.

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

Создание лицензии

Лицензии создаются при помощи бинарного файла make_license. Формат команды для создания лицензии:

./make_license –-passphrase –o

—passphrase — эта опция задает секретный ключ, который используется для формирования подписи для лицензии. Внимание: ключ должен совпадать с ключем, который использовался при кодировании исходного кода.

Ограничение лицензии по серверам

—allowed-server [ ][@[ ]][< >] — эта опция используется для ограничения валидности лицензии по домену, IP или MAC адресу сервера, для которого она предназначена.

Примеры.
1. Ограничение по домену:
—allowed-server www.foo.com
—allowed-server www.foo.com,www.bar.com
—allowed-server 1.2.3.4@

2. Ограничение по IP адресу:

—allowed-server 192.168.1.4
—allowed-server 192.168.1.4,192.168.1.20

Примечания:
1. Когда закодированный файл запрашивается через web-сервер, то IP сверяется с тем IP, который присылает web-сервер.
2. Когда закодированный файл запрашивается на прямую, например когда имеем дело с php shell скриптами, то IP сравнивается только с первичным IP адресом сетевого интерфейса.
3. Нельзя указать в ограничении IP адрес 127.0.0.1

3. Ограничения по MAC адресу. MAC адрес должен состоять из 6-ти байт и должен быть представлен в шестнадцатеричном виде, например:

4. Комбинирование ограничений. IonCube позволяет комбинировать ограничения, например:

Ограничение лицензии по времени

— позволяет задать период, на протяжении которого с момента генерации лицензия является валидной. Периоды можно задавать в следующих величинах: секунды (s), минуты (m). часы (h) или дни (d). Например:

—expire-in 360s
—expire-in 20m
—expire-in 24h
—expire-in 365d

—expire-on — позволяет задать точную дату, до которой лицензия является валидной. Например:

Установка IonCube Loader

1. Скачайте IonCube Loader для вашей ОС, он распространяется бесплатно.

3. В вашем php.ini пропишите путь к скачаной библиотеке. Например:

zend_extension = /usr/local/ioncube/ioncube_loader_lin_5.3.so
zend_extension = /usr/local/ioncube/ioncube_loader_lin_5.3_ts.so
zend_extension_ts = /usr/local/ioncube/ioncube_loader_lin_5.2.so

Обратите внимание что для PHP версией меньше 5.3 нужно указывать директиву zend_extension_ts если в хотите использовать библиотеку с функционалом «thread safety».

4. Перезагрузите web-сервер.

Вот в принципе и все, что нужно знать для защиты своего кода от не лицензионного использования. Больше информации Вы сможете найти на официальном сайте IonCube.

Источник

PHP Encoder 10

Version 10.2 of the ionCube PHP Encoder is the industry standard solution to protect PHP scripts, making it quick, simple and easy to protect your PHP source code from observation, theft and change.

The ionCube Encoder compiles sourcecode to bytecode, can obfuscate and encrypt compiled code if desired, and has features to protect decryption keys in various ways, including a unique approach of algorithmic non-stored keys we call Dynamic Keys.

In addition, PHP licensing features built into the Pro and Cerberus editions allow PHP scripts to be licensed, restricting where PHP code can run and whether it has an expiry time.

The PHP Encoder is available for Windows, Linux, FreeBSD and macOS, all editions feature command line Encoders for easy automation, and the Windows and macOS Encoders also include a GUI.

ionCube Encoded files can be used on the most widely used operating systems up to PHP 7.4. Support for other platforms is available on request.

Which Encoder do I Need?

The following guide will help you choose the right Encoder edition for your needs.

Website Owners: Basic, but consider Pro or Cerberus
To protect code related to configuration and customer data on your own website from those who have access, such as hosting company, admins, and hackers, the entry-level Basic version may suffice. The restriction features of Pro and Cerberus will be worth considering though.

Product Developers: Pro or Cerberus
Pro and Cerberus provide protection PLUS the ability to create license files for your products. License files can protect against unauthorised use by locking code to specific machines and can also time expire, which is ideal for releasing trial versions. The native licensing features offer benefits over PHP based licensing, and has features to support adding ones own licensing ideas on top.

Website Designers: Pro, consider Cerberus
As a designer, you may wish to provide early versions of your work to the client before completion. You want the code to run, but not forever. Pro and Cerberus allow you protect your files to expire at some point in the future, allowing clients to try protected code for a limited time.

Enterprise Customers: Pro or Cerberus + Standard/Premium Support
We would recommend Pro or Cerberus plus a support plan so you have code protection, you can restrict files to authorised machines, and you have access to support cover beyond the limited initial free support.

Continuous Integration: Pro and Cerberus CI Edition
The CI Edition suits users encoding as part of a CI pipeline, where flexibility of temporary machine licenses is beneficial. This product comes with 2 license slots, more can be purchased as required, and license activation and deactivation can be used to control a license at the start and end of session. License allocations are also released every 24 hours and can be activated for a new instance if a previous session failed before license deactivation.

Website Agency wanting to offer encoding as a service?
Please contact sales to ask about our Agency Edition.

Please view our product comparison for a summary and pricing.

Источник

PHP Encoder 10

Product Comparison

The ionCube PHP Encoder is available in 3 variants for Windows, macOS, Linux, and FreeBSD. The product prices are below.

Support

The purchase of a main product license includes 3 months of Starter Helpdesk Support for FREE. Standard or Premium support may be purchased at any time before or after the free support has expired for enhanced support options. Minor product upgrades for the licensed product version are provided free of charge, with major upgrades available at a discount.

The Windows and macOS Encoders come with a GUI. The Special Edition GUI is an upgrade adding support for automatic archiving of encoded projects, a simple FTP client for FTP transfer after encoding, and a unique and innovative concept called dynamic fields. Please see the GUI User Guide for more details.

The CI (Continuous Integration) Edition

The CI Edition is aimed for users who encode as part of a CI pipeline, where flexibility of temporary machine licenses is beneficial. This product comes with 2 license slots, more can be purchased as required, and license activation and deactivation can be used to control a license at the start and end of session. License allocations are also released every 24 hours and can be activated for a new instance if a previous session failed before license deactivation.

Copyright 2002-2021 ionCube Ltd. VAT GB-814942816. All rights reserved. ionCube and the ionCube logo are registered trademarks of ionCube Ltd.
Prices exclude VAT. VAT is applied if purchasing from the UK or from the European Union by a non-business customer. The shopping cart will show any VAT due based on your country before the purchase is finalized.

Источник

Loaders for ionCube Secured Files

Using ionCube encoded and secured PHP files requires a file called the ionCube Loader to be installed on the web server and made available to PHP. PHP can use the Loader with one line added to a PHP configuration file (php.ini). An automated Installer and Wizard are available to help with install, as well as manual instructions. Loaders are for 32 and 64 bit x86 based systems unless otherwise specified. The Windows non-TS Loaders are for use on a Windows system where a phpinfo page shows that PHP is built with thread safety disabled.

If you need Loaders for platforms not mentioned please contact us. Note that different distributions of Linux, e.g. CentOS, SuSE, Debian, RedHat etc. are all covered by the 32 and 64 bit Linux Loaders.

Installing with the Loader Wizard (recommended)

It is recommended to install a Loader using help from the Loader Wizard. The Wizard is a PHP script that when installed on a web server can give guidance specific to that machine, including which Loader file is required and what to add to the php.ini file.

Loaders are available for many different platforms. Pick a Loader package based on your operating system and whether the PHP installation is 32 or 64 bit. If you are unsure of the server platform (e.g. Linux or FreeBSD) and whether PHP is 32 or 64 bit, your hosting company should be able to tell you. The Wizard script should also detect this correctly if you use it.

Loader Packages

ioncube php encoder 10. Смотреть фото ioncube php encoder 10. Смотреть картинку ioncube php encoder 10. Картинка про ioncube php encoder 10. Фото ioncube php encoder 10Linux Loaders also include support for vulnerability protection and PHP error reporting via the ionCube24 platform.

Loader Downloads API

Are you a hoster or package maintainer and would like API access to historical releases? Contact us and let us know.

Production Loaders

OS/PlatformPackagesVersionRelease Date
Linux (32 bits) ioncube php encoder 10. Смотреть фото ioncube php encoder 10. Смотреть картинку ioncube php encoder 10. Картинка про ioncube php encoder 10. Фото ioncube php encoder 10tar.gzzip10.4.52020-11-24
Linux (64 bits) ioncube php encoder 10. Смотреть фото ioncube php encoder 10. Смотреть картинку ioncube php encoder 10. Картинка про ioncube php encoder 10. Фото ioncube php encoder 10tar.gzzip10.4.52020-11-24
Linux Armv7l
(e.g. Raspberry Pi2) (armv7l 32 bits)
tar.gzzip10.4.52020-11-24
Linux ARM64 (aarch64 64 bits)tar.gzzip10.4.52020-11-24
Windows VC9 (32 bits)tar.gzzip10.4.52020-11-24
Windows VC9 (Non-TS) (32 bits)tar.gzzip10.4.52020-11-24
Windows VC11 (32 bits)tar.gzzip10.4.52020-11-24
Windows VC11 (Non-TS) (32 bits)tar.gzzip10.4.52020-11-24
Windows VC11 (64 bits)tar.gzzip10.4.52020-11-24
Windows VC11 (Non-TS) (64 bits)tar.gzzip10.4.52020-11-24
Windows VC14 (32 bits)tar.gzzip10.4.52020-11-24
Windows VC14 (Non-TS) (32 bits)tar.gzzip10.4.52020-11-24
Windows VC14 (64 bits)tar.gzzip10.4.52020-11-24
Windows VC14 (Non-TS) (64 bits)tar.gzzip10.4.52020-11-24
Windows VC15 (32 bits)tar.gzzip10.4.52020-11-24
Windows VC15 (Non-TS) (32 bits)tar.gzzip10.4.52020-11-24
Windows VC15 (64 bits)tar.gzzip10.4.52020-11-24
Windows VC15 (Non-TS) (64 bits)tar.gzzip10.4.52020-11-24
FreeBSD 6 (32 bits)tar.gzzip10.4.52020-11-24
FreeBSD 6 (64 bits)tar.gzzip10.4.52020-11-24
FreeBSD 7 (32 bits)tar.gzzip10.4.52020-11-24
FreeBSD 7 (64 bits)tar.gzzip10.4.52020-11-24
FreeBSD 8 (32 bits)tar.gzzip10.4.52020-11-24
FreeBSD 8 (64 bits)tar.gzzip10.4.52020-11-24
FreeBSD 9 (32 bits)tar.gzzip10.4.52020-11-24
FreeBSD 9 (64 bits)tar.gzzip10.4.52020-11-24
FreeBSD 11 (32 bits)tar.gzzip10.4.52020-11-24
FreeBSD 11 (64 bits)tar.gzzip10.4.52020-11-24
OpenBSD 4.5 (32 bits)tar.gzzip10.4.52020-11-24
OpenBSD 4.6 (32 bits)tar.gzzip10.4.52020-11-24
OpenBSD 4.7 (64 bits)tar.gzzip10.4.52020-11-24
macOS (32 bits)tar.gzzip10.4.52020-11-24
macOS (64 bits)tar.gzzip10.4.52020-11-24
Solaris (32 bits)tar.gzzip10.4.52020-11-24

Recent Loader Changes

IBM Power Systems

The older archive, version 6.0.9, includes ionCube Loaders for PHP 5.6 and PHP 7.0 only.

The newer archive, version 10.3.8, includes ionCube Loaders for PHP 5.4 and PHP 7.2 only.

OS/PlatformPackagesVersionRelease Date
Linux ppc64el for PHP 5.6 & 7.0tar.gzzip6.0.92017-03-13
Linux ppc64el for PHP 5.4 & 7.2tar.gzzip10.3.82019-08-07

Legacy Loader Packages

Please note: The following packages are no longer being maintained are provided for legacy use.

OS/PlatformPackagesVersionRelease Date
Windows VC6 (32 bits)tar.gzzip4.0.72011-2-21
Windows VC6 (Non-TS) (32 bits)tar.gzzip4.0.72011-2-21
FreeBSD 4 (32 bits)tar.gzzip4.4.42013-10-15
Solaris (sparc 32 bits)tar.gzzip4.0.102011-8-16

Copyright 2002-2021 ionCube Ltd. VAT GB-814942816. All rights reserved. ionCube and the ionCube logo are registered trademarks of ionCube Ltd.
Prices exclude VAT. VAT is applied if purchasing from the UK or from the European Union by a non-business customer. The shopping cart will show any VAT due based on your country before the purchase is finalized.

Источник

ionCube Loader Installer

The ionCube Loader Installer is an application which attempts to install the ionCube Loader on a local or remote server. The ionCube Loader is a component that needs to be installed on the server for the encoded files to run.
The Installer supports FTP and SFTP (only on Unix servers) protocols for the connection.
If you need help using the Installer, please create a support ticket at support.ioncube.com

Before you start

Operations performed by the ionCube Loader Installer will modify the data on your server. It is recommended that you backup your data before proceeding. Also be prepered that you may be asked to restart your server during the installation.

Providing server connection details

For the application to be able to connect to the server you need to provide server connection information. Please provide connection details for a user who has permissions to write to the webroot directory and also to be able to modify the php.ini file.

An example of properly filled in server connection information:
ioncube php encoder 10. Смотреть фото ioncube php encoder 10. Смотреть картинку ioncube php encoder 10. Картинка про ioncube php encoder 10. Фото ioncube php encoder 10

During installation

The ionCube Installer will inform about the installation progress and its result. You might be asked to restart the server few times during the installation. After the installation is finished you may want to view the changes applied to the server by going to Help Menu > Site changes.

Copyright 2002-2021 ionCube Ltd. VAT GB-814942816. All rights reserved. ionCube and the ionCube logo are registered trademarks of ionCube Ltd.
Prices exclude VAT. VAT is applied if purchasing from the UK or from the European Union by a non-business customer. The shopping cart will show any VAT due based on your country before the purchase is finalized.

Источник

Добавить комментарий

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