mirror of
https://github.com/ScuroNeko/mtg.git
synced 2026-09-01 07:04:02 +03:00
Add obfuscated2 server handshake
This commit is contained in:
@@ -8,6 +8,33 @@ import (
|
||||
"io"
|
||||
)
|
||||
|
||||
type clientHandhakeFrame struct {
|
||||
handshakeFrame
|
||||
}
|
||||
|
||||
func (c *clientHandhakeFrame) decryptor(secret []byte) cipher.Stream {
|
||||
hasher := acquireSha256Hasher()
|
||||
defer releaseSha256Hasher(hasher)
|
||||
|
||||
hasher.Write(c.key()) // nolint: errcheck
|
||||
hasher.Write(secret) // nolint: errcheck
|
||||
|
||||
return makeAesCtr(hasher.Sum(nil), c.iv())
|
||||
}
|
||||
|
||||
func (c *clientHandhakeFrame) encryptor(secret []byte) cipher.Stream {
|
||||
arr := clientHandhakeFrame{}
|
||||
invertByteSlices(arr.data[:], c.data[:])
|
||||
|
||||
hasher := acquireSha256Hasher()
|
||||
defer releaseSha256Hasher(hasher)
|
||||
|
||||
hasher.Write(arr.key()) // nolint: errcheck
|
||||
hasher.Write(secret) // nolint: errcheck
|
||||
|
||||
return makeAesCtr(hasher.Sum(nil), arr.iv())
|
||||
}
|
||||
|
||||
func ClientHandshake(secret []byte, reader io.Reader) (int, cipher.Stream, cipher.Stream, error) {
|
||||
handshake := clientHandhakeFrame{}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user