|
|
@@ -21,11 +21,8 @@ var (
|
|
21
|
21
|
}
|
|
22
|
22
|
)
|
|
23
|
23
|
|
|
24
|
|
-func poolWrapperObfuscated2WritePoolAcquire(size int) *bytes.Buffer {
|
|
25
|
|
- buf := poolWrapperObfuscated2WritePool.Get().(*bytes.Buffer)
|
|
26
|
|
- buf.Grow(size)
|
|
27
|
|
-
|
|
28
|
|
- return buf
|
|
|
24
|
+func poolWrapperObfuscated2WritePoolAcquire() *bytes.Buffer {
|
|
|
25
|
+ return poolWrapperObfuscated2WritePool.Get().(*bytes.Buffer)
|
|
29
|
26
|
}
|
|
30
|
27
|
|
|
31
|
28
|
func poolWrapperObfuscated2WritePoolRelease(buf *bytes.Buffer) {
|
|
|
@@ -62,22 +59,26 @@ func (w *wrapperObfuscated2) Read(p []byte) (int, error) {
|
|
62
|
59
|
}
|
|
63
|
60
|
|
|
64
|
61
|
func (w *wrapperObfuscated2) WriteTimeout(p []byte, timeout time.Duration) (int, error) {
|
|
65
|
|
- buffer := poolWrapperObfuscated2WritePoolAcquire(len(p))
|
|
|
62
|
+ buffer := poolWrapperObfuscated2WritePoolAcquire()
|
|
66
|
63
|
defer poolWrapperObfuscated2WritePoolRelease(buffer)
|
|
67
|
64
|
|
|
|
65
|
+ buffer.Write(p)
|
|
|
66
|
+
|
|
68
|
67
|
buf := buffer.Bytes()
|
|
69
|
|
- copy(buf, p)
|
|
|
68
|
+
|
|
70
|
69
|
w.encryptor.XORKeyStream(buf, buf)
|
|
71
|
70
|
|
|
72
|
71
|
return w.parent.WriteTimeout(buf, timeout)
|
|
73
|
72
|
}
|
|
74
|
73
|
|
|
75
|
74
|
func (w *wrapperObfuscated2) Write(p []byte) (int, error) {
|
|
76
|
|
- buffer := poolWrapperObfuscated2WritePoolAcquire(len(p))
|
|
|
75
|
+ buffer := poolWrapperObfuscated2WritePoolAcquire()
|
|
77
|
76
|
defer poolWrapperObfuscated2WritePoolRelease(buffer)
|
|
78
|
77
|
|
|
|
78
|
+ buffer.Write(p)
|
|
|
79
|
+
|
|
79
|
80
|
buf := buffer.Bytes()
|
|
80
|
|
- copy(buf, p)
|
|
|
81
|
+
|
|
81
|
82
|
w.encryptor.XORKeyStream(buf, buf)
|
|
82
|
83
|
|
|
83
|
84
|
return w.parent.Write(buf)
|