package obfs type XORObfuscator []byte func (x XORObfuscator) Deobfuscate(buf []byte, n int) int { l := len(x) for i := range buf { buf[i] ^= x[i%l] } return n } func (x XORObfuscator) Obfuscate(p []byte) []byte { np := make([]byte, len(p)) l := len(x) for i := range p { np[i] = p[i] ^ x[i%l] } return np }