pk-fr / yakpro-po

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

Suggestion: open API for extensions #22

Closed pbreah closed 7 years ago

pbreah commented 7 years ago

First of all great work. Great tool.

My only suggestion is to allow us to have an API to write our own code selection strategy - with options to affect the selected obfuscated files and also do search / replace for references on ignored files.

So for example: if I wanted to write a obfuscation selector to replace methods inside add_action() functions on a WP plugin, and do a global search / replace on all instances (where this method is called) on non-obfuscated files with the new obfuscated method name (so it does not break the codebase) - this would be very useful to have on an extension for yakpro-po

Thanks

pk-fr commented 7 years ago

Hi,

thanx for using yakpro-po .... please star it ifi you like it...

I do not really understand what your suggestion is...

if what you want, is a transtation table between obfuscated and not obfuscated items, you can already find them in the 2 private members of the Scrambler class ... ( $t_scramble and $t_rscramble )

I already provided a --whatis command line option to retrieve all corresponding non obfuscated names of an obfuscated one...

perhaps what you need is the reverse: a command line option that takes 2 arguments: the name and the type, and then gives you the obfuscated corresponding value? something like: yakpro-po --get-obfuscated-name function foo
yakpro-po --get-obfuscated-name variable bar

pbreah commented 7 years ago

My suggestion in a few words is the ability to create "extensions": code that we can create to add additional functionality without having to change your core files directly.

I'm going to explain a bit better what I was trying to achieve:

Let's say I have a codebase of 4 files:

I want to obfuscate only file1.php & file2.php - but there are methods calls on file3.php and file4.php that reference methods on file1.php and file2.php that are being obfuscated. On this case, I would like these method references on file3.php and file4.php to be renamed with the obfuscated version of the methods on file1.php and file2.php

I know you provided a way to filter out methods from being obfuscated, but in this case I do want to obfuscate these methods (file1.php and file2.php), but want to have these obfuscated methods also renamed on non obfuscated files (in this example: file3.php and file4.php) - so the codebase doesn't break.

My suggestion was to allow yakpro-po to have "extensions" so developers can create features like these.

Let me know if you understand the idea.

Thanks again

pk-fr commented 7 years ago

it is not really clear to me... what I understand is that you want to obfuscate only some elements of a file... at present I have no much time to think about non clear features... yakpro-po is a project I develop during my free time.

I hope I will have enough time to upgrade my personal dev machine during 2nd quarter ... and my goal is to provide full support of php7 before the end of the year...

best regards