Reverse Obfuscated PHP Code

Hello,
I created a PHP obfuscator which encrypts PHP code and give some protection against evalhook and any similar de-obfuscation tools. I want to find the weakness of this obfuscator so here I make a challenge for you all.

What to do?

  1. Decode and gunzip the below base64 encoded text into a file.
  2. Run the file with PHP 7.
  3. You will be asked to enter password.
  4. Find the correct password.
  5. Send the flag here (Please give the write up, I want to know your method).

Note:

  • The protector checks the file checksum everytime it runs. If the checksum doesn’t match with the built checksum or we can say there is a change on the code, then it leads to segmentation fault.
  • Wrong password also leads to segmentation fault.
base64 -d file.txt | gunzip > file.php
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
aKtsjswA13GYEfwfs+AqX+JaAAA=
2 Likes

Was fun to play through :smiley:

Flag: TEA{e1fccfdf7dd3e7dacb9d2ab8a9420b47286d08af}

The process was pretty simple, just basic deobfuscation, more or less the following just less organized:

1. Replace the stringDecryptor with a custom function with same functionality, dumping the output of gzinflate [This is what we use to extract information]
2. Remove naming of external functions and hash check [So the program doesn't abort early, important features will be emulated with next steps]
3. Calculate footerHash and mkeyVar [Now we can decrypt the last layer]
4. Recreate the "time" string variable and the time variable holding the first calculated time()  [Now we will pass all nested time() checks]
5. Create the custom class thing [This is for the "or" in there to not crash there]
6. Evaluate the 3rd "eval" and dump content that way [Make the thing decrypt itself but also dump interesting information and code on the way]
7. Deobfuscate now not anymore protected code manually, not really hard

Though in this case step 6 is enough to get through the 3 passwords.

4 Likes

Thanks for your time, nice analyze!
I think, it would be harder to analyze that if there is no obfuscator source code that mention those clues.

Btw, I also made a decompiler for it, you maybe interested https://gist.githubusercontent.com/ammarfaizi2/65495b1d2e8fb7ca3d15290932a8c471/raw/83ea8481717717cf067700da645ae3e21bdffe34/integral_decompiler.php

1 Like

Looks neat!
Way better than what I provisionally came up with! :smiley:

Yeah without source code it would have been a bit harder, not by that much though (I really only used it to double check if what I deobfuscated was correct).
The main problem for me were the non-ASCII encoded variables and the fact that the program I used for editing changed encoding multiple times because it got confused with them.

@Leeky @ammarfaizi2 ,
:thinking:
Is it possible to reverse engineer a CVE using the PHP obfuscator and techniques on the leaked PHP codes?

Might be a good challenge to look into. Also, might get some $$$ from it too :grin:.
-Archangel