Joined: 17 May 2021
|Posted: Mon May 17, 2021 5:56 pm Post subject: _iL_exec Doesnt Exist
|I inherited a website that uses ionCube for decoding some of its code. We migrated the site to a new server and new php version 5.6 and now the site doesnt run.
I downloaded the ioncube_loader_lin_5.6.so and added it to the php.ini and verified it is loaded by running:
php -r "print_f(get_loaded_extensions());"
ionCube Loader is listed in the results
The issue is the code is really wanting to load the extension at runtime :
if (!extension_loaded ('ioCube Loader')
... tries to load the extension
@dl($__ln); --- this line is not valid in php 5.6
die('The file '.__FILE__." is corrupted. \n");
So it hits the ELSE statement and reports the error and quits
I tried commenting that code out but then it hits the following line:
echo ('site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader to be installed by the site administrator.');
so it seems even though the ionCube Loaded extension is loaded by the php.ini it doesnt have the il_exec funtion included and i cant get the site to run.
It seems it needs to load the assembly dynamic via the @dl command, but that command is not available in PHP 5.6 so not sure how to get around this issue since adding the 5.6 version in the php.ini file isnt what the code is expecting.