File tree 2 files changed +77
-68
lines changed
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`.
28
28
29
29
## About EnPHP Bugs
30
30
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.**
98
32
99
- This means ` ($this->$v0)[0x0]() ` instead of what we expected ` $this->{$v0[0x0]}() ` .
33
+ See <docs/enphp_bugs.md> .
100
34
101
35
## License
102
36
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