pk-fr / yakpro-po

YAK Pro - Php Obfuscator
http://www.php-obfuscator.com
Other
1.3k stars 368 forks source link

Please help me! !! #81

Closed Future-3 closed 3 years ago

Future-3 commented 4 years ago

my code: spl_autoload_unregister(array('YiiBase','autoload')); after obfuscated: spl_autoload_unregister(array("\131\151\x69\x42\141\x73\145", "\x61\165\164\x6f\x6c\x6f\141\144")); There was a mistake when it's running: Error - type:1 - file:/var/www/html/framework/YiiBase.php - line:8 - msg:Uncaught LogicException: Passed array does not specify an existing static method (class 'YiiBase' does not have a method 'autoload') in /var/www/html/framework/YiiBase.php:8 Stack trace:

0 /var/www/html/framework/YiiBase.php(8): spl_autoload_register(Array)

1 /var/www/html/framework/yii.php(8): require('/var/www/html/f...')

2 /var/www/html/wwwroot/admin.yunfanghu.php(8): require_once('/var/www/html/f...')

3 {main}

WaelKYoussef commented 4 years ago

You probably have: $conf->obfuscate_class_name = true; $conf->obfuscate_method_name = true; Inside your 'yakpro-po.cnf' file;

If you're going to reference class and method names with literal strings like this then you should set the aforementioned flags to 'false' inside the .cnf file.

Or better yet, specify a small set of classes and methods you 'know' you'll be directly referencing and add them to the array of: $conf->t_ignore_classes = []; $conf->t_ignore_methods = []; respectively inside your .cnf file.

pk-fr commented 3 years ago

answered by @WaelKYoussef