Exclude List Tab

This list is a placeholder for entities that should not be obfuscated. In general these are user functions, class names, and class methods that are used indirectly or need to be called from an un-obfuscated script. 

Entities can be added to the exclude list manually (click the New button) and by using the Scan option.

The main reason for adding entities to the exclude list is to facilitate the debugging, QA process. Some entities can cause code to fail if they are obfuscated. To prevent this from occurring in the final product version always test your code after obfuscating. Any entities that cannot be obfuscated should be added to the Exclude List.

This procedure describes how to use the Exclude List to define which code entities should not be obfuscated.

The Exclude List includes the following options:

To read more about what to exclude go to "Excluding Functions".

Note:  

Errors that occur in the code before obfuscating indicate a problem in the code.

Scanning Code

The Scan feature scans the code in order to locate entities that should be added to the Exclude list. It identifies strings and functions with the same name. You can discard any suggestions.

 

 

Instructions on how to complete a procedure

To Automatically Scan Code

  1. Click the Scan link. The code will be scanned and the suggestions displayed in a suggestions list.

  2. Check the suggestions to be used, the others will be discarded automatically.

After the suggestions have been applied and code has been obfuscated, the code should be tested normally.

 

 

 

Adding Entities Manually

You can add entities to the Exclude List manually. Listed entities will not be obfuscated. In general, if an entity causes an error during testing add it to the exclude list to determine if the obfuscation caused the error.

Always Exclude
  • Indirect function calls. These occur when referencing function calls through a variable holding the function name.

  • Functions Defined in Un-obfuscated Code

  • Functions that cannot be automatically identified through the setup process. These include indirect and concatenated functions.

  • Functions located during the debugging/testing stage of the application.

  • Functions that generated "Function not defined" and "Class not defined" message types that only appeared after obfuscating the code.

 

 

Instructions on how to complete a procedure

To manually add entities:

  1. In the Exclude List Tab, click New.
    The Add Excluded Entities dialog will be displayed.

  2. Enter the name of the entity, the wild card ( * ) can be used only at the end of strings when adding names manually to the exclude list (correct use: " test* "; incorrect use: " *test" ).

  3. Click OK to save and close.
    The entity will be added to the Exclude List.

  4. -Optional- In the Exclude list's Reason column, click to begin writing and describe why the entity was added to the Exclude List.

Once added to the list and as long as the check-box next to the name is full, the Entity will not be obfuscated.

Note:

Use the override feature when a certain pattern is selected that includes a file name. For example; if you choose to exclude the pattern test*.php and you have a file called contest.php the file will also be excluded. Applying the override option to a selected file will remove the association with the exclude settings.

 

 

 

Importing and Exporting Exclude Lists

This procedure describes how to import and export Exclude List settings. These options enable you to share your selection with other Zend Guard users.

Importing an Exclude List is based on the assumption that you already have an Exclude List file generated from Zend Guard.

 

 

Instructions on how to complete a procedure

To import an Exclude List:

  1. In the Exclude List tab, click Import.
    A browse dialog will be displayed.

  2. Browse to locate the file and click Open.

Once added to the list and as long as the check-box next to the name is full, the Entity will not be obfuscated.

 

 

 

Exporting an Exclude List is the process of generating an external file containing all the entities and their descriptions (reasons) to an external file that can be reused with other projects and Zend Guard applications.

 

 

Instructions on how to complete a procedure

To export an Exclude List:

  1. In the Exclude List tab, click Export.
    A browse dialog will be displayed.

  2. Browse to locate the place to save the file, name the file and click Save.
    A new file containing the contents of the Exclude List and its details will be created in the specified location.

Once exported the file can be reused in other projects and Zend Guard applications to automatically populate an Exclude list.

 

 

 

Note:  

The "Load from file" option does not validate the contents of the file; Zend Guard assumes that each line is a separate function. Zend Guard does not verify that the entities listed in the file are proper functions, etc.

Removing Content from the Exclude List

The procedure describes the different options for removing content from the Exclude List.

  • Remove - Will remove a selected entity from the Exclude List.

  • Remove Suggested - Will remove all the entities that were added to the list as a result of the Scan process.

  • Remove all - Will empty the list of all its contents.