pk-fr / yakpro-po

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

$t_ignore_methods is invalid, the specified method name cannot be ignored #43

Closed cloudsnet closed 5 years ago

cloudsnet commented 5 years ago

$t_ignore_methods is invalid, can't ignore the specified method name, I am using version 2.0.4. For example: I introduced the DB static class, I added all the public methods of the DB class to the array in $t_ignore_methods, set $obfuscate_method_name to true to perform obfuscation, and the result is that the DB class method is still confused.

pk-fr commented 5 years ago

it is working for me ... please give me a small code example where you can see the problem...

cloudsnet commented 5 years ago

Just after my investigation, I found that my conversion to the program was not very successful. I didn't get the correct variable value in scrambler.php without converting all the variables in get_default_defined_objects.php into global variables. I now talk about command execution. Converted into a plugin for the program, executed by URL

pk-fr commented 5 years ago

I made a small example: <?php class TOTO { public static function tagada($a,$b) { return max($a,$b); } } echo TOTO::tagada(2,3); ?>

and the resulting obfuscated code when setting $conf->t_ignore_methods = array('tagada'); is ok : <?php /* __________________________________________________ | Obfuscated by YAK Pro - Php Obfuscator 2.0.4 | | on 2019-04-25 16:04:37 | | GitHub: https://github.com/pk-fr/yakpro-po | |__________________________________________________| */ class SjDeV { public static function tagada($sPxDm, $aAHR_) { return max($sPxDm, $aAHR_); } } echo sJDev::tagada(2, 3);

so all is ok!

cloudsnet commented 5 years ago

Well, after I looked at the code, it was because I converted to web mode because the scope of the parameter was not fully processed. Now this has been processed, but I still suggest that you can tidy up the code, make the file all object-oriented through the class processing, reduce the function, to facilitate the program inheritance and reduce the changes to the source code, I hope the author can come out a web way Thank you for your answer.