File tree Expand file tree Collapse file tree 2 files changed +77
-68
lines changed
Expand file tree Collapse file tree 2 files changed +77
-68
lines changed Original file line number Diff line number Diff line change @@ -28,75 +28,9 @@ Call `bin/decode.php` decode `input.php` and save it to `output.php`.
2828
2929## About EnPHP Bugs
3030
31- EnPHP has bugs. The obfuscated files cannot even run properly. You shouldn't ask a decoder to revert a broken file to a normal file.
32-
33- Here are some known EnPHP bugs. They ** WON'T** be fixed.
34-
35- ### Class Static Call
36-
37- ``` php
38- class Foo
39- {
40- public static function baz()
41- {
42- echo 'baz';
43- }
44- }
45-
46- class Bar extends Foo
47- {
48- public function __construct()
49- {
50- parent::baz();
51- }
52- }
53- ```
54-
55- class Bar will be obfuscated like this
56-
57- ``` php
58- class Bar extends Foo
59- {
60- public function __construct()
61- {
62- parent::$GLOBALS[GLOBAL_VAR_KEY][0x0]();
63- }
64- }
65- ```
66-
67- This means ` (parent::$GLOBALS)[GLOBAL_VAR_KEY][0x0](); ` instead of what we expected ` parent::{$GLOBALS[GLOBAL_VAR_KEY][0x0]}(); ` .
68-
69- ### Class Method Call
70-
71- ``` php
72- class Foo
73- {
74- public function bar()
75- {
76- echo 'bar';
77- }
78-
79- public function __construct()
80- {
81- $this->bar();
82- }
83- }
84- ```
85-
86- The constructor will be encoded like this
87-
88- ``` php
89- class Foo
90- {
91- public function __construct()
92- {
93- $v0 = & $GLOBALS[GLOBAL_VAR_KEY];
94- $this->$v0[0x0]();
95- }
96- }
97- ```
31+ ** EnPHP is for php 5. There may be some problem is you use the obfuscated files on php 7.**
9832
99- This means ` ($this->$v0)[0x0]() ` instead of what we expected ` $this->{$v0[0x0]}() ` .
33+ See <docs/enphp_bugs.md> .
10034
10135## License
10236
Original file line number Diff line number Diff line change 1+ # About EnPHP Bugs
2+
3+ ** EnPHP is for php 5. There may be some problem is you use the obfuscated files on php 7.**
4+
5+ ** php 5.5 5.6 7.0 is no longer supported.** See [ PHP: Supported Versions] ( http://php.net/supported-versions.php ) .
6+
7+ EnPHP has bugs. The obfuscated files cannot even run properly on php 7. You shouldn't ask a decoder to recover a broken file to a normal file.
8+
9+ Here are some known EnPHP bugs running on php 7. They ** WON'T** be fixed.
10+
11+ ## Class Static Call
12+
13+ ``` php
14+ class Foo
15+ {
16+ public static function baz()
17+ {
18+ echo 'baz';
19+ }
20+ }
21+
22+ class Bar extends Foo
23+ {
24+ public function __construct()
25+ {
26+ parent::baz();
27+ }
28+ }
29+ ```
30+
31+ class Bar will be obfuscated like this
32+
33+ ``` php
34+ class Bar extends Foo
35+ {
36+ public function __construct()
37+ {
38+ parent::$GLOBALS[GLOBAL_VAR_KEY][0x0]();
39+ }
40+ }
41+ ```
42+
43+ This means ` (parent::$GLOBALS)[GLOBAL_VAR_KEY][0x0](); ` instead of what we expected ` parent::{$GLOBALS[GLOBAL_VAR_KEY][0x0]}(); ` .
44+
45+ ## Class Method Call
46+
47+ ``` php
48+ class Foo
49+ {
50+ public function bar()
51+ {
52+ echo 'bar';
53+ }
54+
55+ public function __construct()
56+ {
57+ $this->bar();
58+ }
59+ }
60+ ```
61+
62+ The constructor will be encoded like this
63+
64+ ``` php
65+ class Foo
66+ {
67+ public function __construct()
68+ {
69+ $v0 = & $GLOBALS[GLOBAL_VAR_KEY];
70+ $this->$v0[0x0]();
71+ }
72+ }
73+ ```
74+
75+ This means ` ($this->$v0)[0x0]() ` instead of what we expected ` $this->{$v0[0x0]}() ` .
You can’t perform that action at this time.
0 commit comments