Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/zbrtsn/ioncube-decoder-loader

This software tool can help you run files that have been encoded using the ionCube PHP Encoder. A PHP extension called the ionCube Loader handles the reading and execution of encoded files at run time.
https://github.com/zbrtsn/ioncube-decoder-loader

Last synced: about 2 months ago
JSON representation

This software tool can help you run files that have been encoded using the ionCube PHP Encoder. A PHP extension called the ionCube Loader handles the reading and execution of encoded files at run time.

Awesome Lists containing this project

README

        

# IONCUBE-Decoder-Loader
This software tool can help you run files that have been encoded using the ionCube PHP Encoder.

A PHP extension called the ionCube Loader handles the reading and execution of encoded files at run time.

------------
## Download

You can visit [this link](https://www.ioncube.com/encoder_eval_download.php "this link") to obtain the free trial version of the Ioncube Decoder.

Then you need to get [Ioncube Loader](https://www.ioncube.com/loaders.php) to encode your decoded file.

------------
## Decode the Your PHP Code

- Extract these files from the .tar.gz archive.
- Go to the `ioncube_encoder_evaluation` directory.
You'll see there a bash file `ioncube_encoder.sh`
```bash
./ioncube_encoder.sh
```
Enter this code, and you will see instructions on how to proceed.
To summarize:
```bash
./ioncube_encoder.sh [your encoder version] [architecture] [your php version] [the app will encode] -o [the encoded php file]
```
in here,
- Encoder Version (optional, you don't have to use it):

-C : Use Current Encoder (v13.0) - Default

-L : Use Legacy Encoder (v12.0)

-O : Use Obsolete Encoder (v11.0)

- PHP Languages:

-4 : Encode file as PHP 4

-5 : Encode file as PHP 5

-53 : Encode file as PHP 5.3

-54 : Encode file as PHP 5.4

-55 : Encode file as PHP 5.5

-56 : Encode file as PHP 5.6

-71 : Encode file as PHP 7.1

-72 : Encode file as PHP 7.2

-74 : Encode file as PHP 7.4

-81 : Encode file as PHP 8.1

-82 : Encode file as PHP 8.2

- Architecture (optional):

-x86 | -x86-64 : Run either the 32-bit or 64-bit Encoder

- Usage examples:

Let's say you're in the directory where the decoder is located.
Encode source_file.php using the Current 64-bit Encoder for PHP 8.2:
```bash
./ioncube_encoder.sh -C -x86-64 -82 source_file.php -o target_file.php
```
In the target_file.php section, you can specify the name of the file to be decoded and where it will be saved.

Like; /var/www/html/decoded-php-app.php

If I were to do it based on adding a PHP file to my repo, it would look like this:
```bash
./ioncube_encoder.sh -C -x86-64 -81 /var/www/html/form.php -o /var/www/html/decodedform.php
```
I will also put that decoded code in my repo. I want you to see that encoded file.

**I used 8.1 PHP version cause in 8.2 version, ioncube loader didn't work for me.**

**I tried it with version 7.4, and it worked. It might also work with minor versions below 8.2.**

------------
## Encode Your Code When You Run it

- When you extract your loader folder, you'll see a lot of version of it like;

`ioncube_loader_lin_8.3.so`

`ioncube_loader_lin_8.2.so`

actually it is so easy to apply it:
- edit **/etc/php.ini**

Edit the file located at `/etc/php.ini` using nano or vim.
- at the top of the php.ini file add:

zend_extension = /path/your/ioncubeLoader/ioncube/ioncube_loader_lin_8.1.so
for instance:
```
[PHP]
zend_extension = /path/your/ioncubeLoader/ioncube/ioncube_loader_lin_8.1.so
...
```
- restart the PHP environment (i.e. Apache, php-fpm, etc.)
I use apache so;
```bash
sudo systemctl restart httpd
sudo systemctl restart php-fpm
```
- Check a phpinfo page and the Loader should show up in the Zend Engine box.
```PHP

```
That's all.

All you need to do now just go to your web server with your encoded php file and see it's the same as was before.