executable

Recovering Sourcecode from wrapped files

Question: 

Can you help me recover the original source code from my executable file?

Answer: 

The Support and Maintenance package for Perl Dev Kit does not include recovery of lost source code, and we do not have any special internal tools for reverse engineering wrapped code.

We recommend the use of distributed version control systems during development. Free services are available, and they provide many useful features in addition to ensuring that source code is not lost. Regular backups are still an alternative if you don't want to use version control.

Wrapping executables in a TclApp application

Question: 

I've bundled a binary executable inside my TclApp application. My script can see it, but the OS claims it isn't there when I try to run it. How do I fix it?

Answer: 

When a TclApp application is created, it creates a virtual filesystem using the Tcl vfs module and puts what it needs in that virtual filesystem. While your application can see inside the VFS, the operating system can't -- hence the error.

The best solution is to extract the executable to a location in the regular filesystem and run it from there. The operating system will be able to see it, and it will work as expected.

Does PerlApp provide Code Obfuscation?

Question: 

Will people be able to decompile the executables I've made with PerlApp?

Answer: 

PerlApp does provide a degree of code obfuscation. There is no trivial method to unwrap a PerlApp file.

Reverse Engineering any executable is possible if the attacker has control of the hardware. Critical copyrighted data and algorithms should be protected by a suitable legal agreement or not included in Perl code within a PerlApp file. If you are concerned about keeping important parts of your code secret, you may want to consider some additional measures, such as:

  • using strong encryption for critical data
  • implementing critical algorithms as XS modules that can be used by your Perl code.