Andrew Lapidas, IBM
andrew_lapidas@us.ibm.com
12/10/2011

PHP program to 'un-obfuscate' (or obfuscate) iNotes console text or response data from an iNotes HTTP request in a browser to make debugging customizations easier.

INPUTS:
- Fully qualified hostname of a Domino server that contains an anonymously accessible Forms85.nsf in the default//iNotes/ directory
- Javascript that you'd like to either obfuscate, or un-obfuscate

OUTPUTS:
- Obfuscated or un-obfuscated iNotes console code or HTTP response data

REQUIREMENTS:
- Web server (such as Apache)
- Python installed on server
- PHP installed on server
- jsbeautifier.py in path specified by JSB_PATH constant (or define the JSB_PATH constant to null to not use it, see program source for details)
--> JSBeautifier is a script to make Javascript 'prettier' - it is used here to 'beautify' the output of the program
--> It can be found here -> https://github.com/einars/js-beautify
- PECL HTTP extension installed on server (for HTTPRequest class in PHP) - Every distribution varies on how to install this;
  use a search engine/ distribution-specific documentation for this

Program was written to run on a web server on Linux, may not run properly on Windows

Program only works if Forms85.nsf is anonymously available on Domino, and is inside the default//iNotes/ directory -
This program does not contain any authentication mechanisms at this time.

INSTRUCTIONS:
Place unobfuscator.php in root of web server (/var/www by default in Apache on Debian/Ubuntu), and jsbeautifier.js (if desired) in JSB_PATH.
Temporary files used in constants must have RW access by user that web server runs as (/tmp is a good choice).  Access
http://server.domain.com/unobfuscator.php, enter the FQDN of the sevrer that has your forms database, the code you want transformed, and
whether you want to obfuscate or unobfuscate it, and then hit submit.

TROUBLESHOOTING:
If you encounter issues with running the program, the error log for the web server is a great place to start (error.log in/var/log/apache2 by default for Apache on Linux)

 

Andrew is the author, Niklas only comitter.