Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно. Вам необходимо обновить браузер или попробовать использовать другой.
Hi. First of all — amazing work. Seriously.
I'm genuinely impressed by the amount of effort and knowledge that went into this decompiler. It's incredibly cool and deserves a lot of respect.
While analyzing one of the reconstructed files (simple.php), I noticed a couple of incorrectly reconstructed structures. I'm posting this mostly as debugging feedback in case the project is still being maintained or improved.
1. Incorrect curly brace reconstruction in dynamic method calls
Some dynamic method/property access expressions were reconstructed with braces in incorrect positions.
I was able to fix the entire file using the following regex replacement:
Find: \{\$this\}->([\w\d]+\((["']+)[\w\d]+\2\))
Replace with: {$this->$1}
After this replacement, the affected expressions became syntactically correct.
"case 2" and "case 3" clearly jump into reachable handler regions,
but "case 1" appears to jump directly to block "35",
and block "35" itself immediately jumps toward function exit/end-switch logic.
Because of this, I could not understand how the handler body for: case $this->il0jj("l0iji")
Because of this, I ended up with two possible conclusions:
either my CFG / opcode flow analysis is incomplete or incorrect,
or the reconstructed opcodes themselves may not be fully accurate (which honestly seems unlikely).
So I suspect I'm probably missing some Zend VM / ZEND_CASE execution detail here.
If someone could explain how this specific "switch/case" flow works internally in Zend opcodes, I would really appreciate it.
I attached the corrected working reconstructed source file for reference.
Also, judging by the opcode structure and naming patterns, it looks like the original author additionally obfuscated the source before packing it with ionCube, which probably makes reconstruction significantly harder. (And if anyone knows good automatic PHP deobfuscators for this kind of code — I'd appreciate recommendations.)
На данном сайте используются файлы cookie, чтобы персонализировать контент и сохранить Ваш вход в систему, если Вы зарегистрируетесь.
Продолжая использовать этот сайт, Вы соглашаетесь на использование наших файлов cookie.