示例#1
0
文件: test_l2.py 项目: yv84/pyph
    def test_xor_set1(self):
        from l2.xor import XorInOut

        class PacketBuffer():
            class Side():
                xor = XorInOut(None)
            client = Side()
            server = Side()
        
        packet_buffer = PacketBuffer()
        xor_c = XorInOut(packet_buffer.client)
        xor_s = XorInOut(packet_buffer.server)
        xor_c.xor_in.packet_buffer = \
            xor_c.xor_out.packet_buffer = \
            xor_s.xor_in.packet_buffer = \
            xor_s.xor_out.packet_buffer = packet_buffer

        old_key = b''
        xor_c.xor_in.key = \
            xor_c.xor_out.key = \
            xor_s.xor_in.key = \
            xor_s.xor_out.key = old_key

        pck_packed = b'\x19\x00.\x01\xa9\x90\x0f\x8b\x19\x82\xdf\xa0\x01\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00'
        pck_unpacked = b'\x19\x00.\x01\xa9\x90\x0f\x8b\x19\x82\xdf\xa0\x01\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00'
        key_new =  b"\xa9\x90\x0f\x8b\x19\x82\xdf\xa0\xc8'\x93\x01\xa1l1\x97"
        
        pck_out = list(xor_c.pck_in([pck_packed,]))

        self.assertEqual(
            xor_c.xor_in.key,
            key_new,
        )
        self.assertEqual(
            xor_s.xor_in.key,
            old_key,
        )
        self.assertEqual(
            xor_c.xor_out.key,
            old_key,
        )
        self.assertEqual(
            xor_s.xor_out.key,
            old_key,
        )
        self.assertEqual(
            pck_out,
            [pck_unpacked,],
        )
示例#2
0
文件: test_l2.py 项目: yv84/pyph
    def test_xor_set5(self):
        from l2.xor import XorInOut

        class PacketBuffer():
            class Side():
                xor = XorInOut(None)
            client = Side()
            server = Side()
        
        packet_buffer = PacketBuffer()
        xor_c = XorInOut(packet_buffer.client)
        xor_s = XorInOut(packet_buffer.server)
        xor_c.xor_in.packet_buffer = \
            xor_c.xor_out.packet_buffer = \
            xor_s.xor_in.packet_buffer = \
            xor_s.xor_out.packet_buffer = packet_buffer

        old_key = b'\xa9\x90\x0f\x8b\x19\x82\xdf\xa0(+\x93\x01\xa1l1\x97'
        xor_c.xor_in.key = \
            xor_c.xor_out.key = \
            xor_s.xor_in.key = \
            xor_s.xor_out.key = old_key

        pck_packed = b'W\xe5\xeahq\xf3,\x8d\xe5\xce];\x9a\x9a\xabI\xe0\x14\x1b\xf9\xe0\r\xd2r\x1a3\xa0\xa1\x00\x089\xc7n\x91\x9e{b\xe0?\x9c\xf4\xdfL*\x8b\x8e\xbfZ\xf3\x02\r\xe8\xf1s\xac\x08`K\xd8\xb6\x17\t8\xcac\x9d\x92\x19\x00\x87X\xf8\x90\xdaI,\x8d\x84\xb5L\xe5uz\xf7\xeel\xb3z\x12W\xc4\xab\n\x076\xc5l\x8e\x81cz\x94K\x8e\xe6\xcd^X\xf9\x95\xa4T\xfd\x02\r\xe2\xfb\x18\xc7\x15}2\xa1\xa0\x01eT\xc3j\x88\x87y`\x8cS\x96\xfe\xd5FN\xef\x83\xb2V\xff\x07\x08\xf6\xef\x19\xc6\x12z6\xa5\xc5dzK\xa8\x01\x91\x9e'  
        pck_unpacked = b'\xfe"\x00\t\x00\x00\x00\x01@\x00\x00g\x00l\x00u\x00d\x00i\x00o\x00\x00@\x02\x00\x00\x00d\x00i\x00o\x00n\x00\x00\x00\x03@\x00\x00g\x00i\x00r\x00a\x00n\x00\x00\x00\x04@\x00\x00o\x00r\x00e\x00n\x00\x00\x00\x05\x00\x00@a\x00d\x00e\x00n\x00\x00\x00\x06\x00\x00\x00i@n\x00n\x00a\x00d\x00r\x00i\x00l\x00e@\x00\x00\x07\x00\x00\x00g\x00o\x00d\x00a\x00r@d\x00\x00\x00\x08\x00\x00\x00r\x00u\x00n\x00e@\x00\x00\t\x00\x00\x00s\x00h\x00u\x00t\x00t@g\x00a\x00r\x00t\x00\x00\x00'
        key_new = b'\xa9\x90\x0f\x8b\x19\x82\xdf\xa0\xcb+\x93\x01\xa1l1\x97'

        pck_out = list(xor_s.pck_in([pck_packed,]))

        self.assertEqual(
            xor_c.xor_in.key,
            old_key,
        )
        self.assertEqual(
            xor_s.xor_in.key,
            key_new,
        )
        self.assertEqual(
            xor_c.xor_out.key,
            old_key,
        )
        self.assertEqual(
            xor_s.xor_out.key,
            old_key,
        )
        self.assertEqual(
            pck_out,
            [pck_unpacked,],
        )

        pck_out = list(xor_s.pck_out(pck_out))

        self.assertEqual(
            xor_c.xor_in.key,
            old_key,
        )
        self.assertEqual(
            xor_s.xor_in.key,
            key_new,
        )
        self.assertEqual(
            xor_c.xor_out.key,
            old_key,
        )
        self.assertEqual(
            xor_s.xor_out.key,
            key_new,
        )
        self.assertEqual(
            pck_out,
            [pck_packed,],
        )
示例#3
0
文件: test_l2.py 项目: yv84/pyph
    def test_xor_set3(self):
        from l2.xor import XorInOut

        class PacketBuffer():
            class Side():
                xor = XorInOut(None)
            client = Side()
            server = Side()
        
        packet_buffer = PacketBuffer()
        xor_c = XorInOut(packet_buffer.client)
        xor_s = XorInOut(packet_buffer.server)
        xor_c.xor_in.packet_buffer = \
            xor_c.xor_out.packet_buffer = \
            xor_s.xor_in.packet_buffer = \
            xor_s.xor_out.packet_buffer = packet_buffer

        old_key = b"\xa9\x90\x0f\x8b\x19\x82\xdf\xa0\xc8'\x93\x01\xa1l1\x97"
        xor_c.xor_in.key = \
            xor_c.xor_out.key = \
            xor_s.xor_in.key = \
            xor_s.xor_out.key = old_key

        pck_packed = b'\xa02=\xb6\xaf*\xf5U\xba\x9dz{\xbf\xd3\x91\x06\xdbK \xab\xc1C\xfd]\xd4\xf3\x01\x00\xd2\xbe\xeb|\xb3#,\xa7\n\xf1.\x8e\x125\x97\x96\x06j:\xad\x04\x94\xadTP\xd2\r\xadBe\xf6\xf7V:\n\x9d4\xa4\xab 9\xbbn\xce!\x06\x94\x954X\x7fv!N\x92\xd0\xcaH\x87\xd5\xc5\x1d;\x9cD\xef\xf7n\xaf\x7f\x88\xa3\xdd\xec\xd9*\xa6\xc1\x03\x01\xa0\xccY\xfeW\xc7\xc8CZ\xd8\x00\xa0Oh\xfb\xfa[7\x06\x918\xa8\xa7,5\xb7h\xc8\'\x00\x93\x923_n\xf9P\xc0\xcfD]\xdf\x00\xa0Oh\xfb\xfa[7\x06\x918\xa8\xa7,5\xb7h\xc8\'\x00\x93\x923_n\xf9P\xc0\xcfD]\xdf\x00\xa0Oh\xfb\xfa[7\x00\x97>\xae\xa1*3\xb1n\xce!\x06<<\x9d\xf1\r\x9b2\xa2\xad&?\xbdb\xc2-\n\x99\x989Ud\xf3Z\xca\xc5NW\xd5\n\xaaEb\xf1\xf0Q=\x0c\x9b2\xa2\xad&?\xbdb\xc2-\n\x99\x989Ud\xf3Z\xca\xc5NW\xd5\n\xaaEb\xf1\xf0Q=\x0c\x9b2\xa2\xad&?\xbd\xd7\xd1G\xa7\x1d\x12\xdb\xf7>\t\xc7\xe4\x01\xd9\xa3a\xbe\x1e\xf1\xd6ON\xef\x83\xb3$\x8d\x1d\x12\x99\x80\x02\xdd}\x92\xb5&S\xf2\xac\x9d9\x904;\x85\x9c(\xf7`\x8f\x90\x03;\x9a\xc6\xf7Q\xf8ZU\xed\xf4B\x9d\x08\xe7\xf6ed\xc5z\xe3u\xdc?0\x8a\x93 \xff>\xd1\xf6eR\x81\xf0\xc1V\xffo`\xeb\xf2p\xaf\x0e\xe1\xc6UT\xf5\x99\xa85\x9c\x0c\x03\x89\x90\x12\xcd\x9b\xe81]\x87\xee\x81\xb0)r\x1d\xedy\xe5\x8c\x02\x1aK4\xe7|D\xb1\x19\x17\'\xfa\xb5>\'\xa5z\xda5\x12\x81\x80!M|\xeaC\xd3\xdcWN\xcc\x13\xb3\\{\xe8\xe9H$\x15\x82+\xbb\xb4?&\xa4{\xdb4\x13\x80\x81 L}\xeaC\xd3\xdcWN\xcc\x13\xb3\\{\xe8\xe9H$\x15\x82+\xbb\xb4?&\xa4{\xdb4\x13\x80\x81 L}\xeaC\xd3\xdcWN\xcc\x13\xb5Z}\xee\xefN"\x13\x84-\xbd\xb2\x90\x88\n\xd5\xb8Vq\xe2\xe3B.\x1f\x88!\xb1\xbe5,\xaeq\xd1>\x19\x8a\x8b*Fw\xe0I\xd9\xd6]D\xc6\x19\xb9Vq\xe2\xe3B.\x1f\x88!\xb1\xbe5,\xaeq\xd1>\x19\x8a\x8b*Fw\xe0I\xd9\xd6]D\xc6\x19\xb9Vq\xe2\xe3B.\x1f\x88!\xb1\xbe5\xacv\xe9I\xa6\x81\x12\x132\x13b\xf5\\\xcc\xc3B[\xd9\x06\xa6In\xfd\xfc]1\x00\x97>\xae\xa1*'
        pck_unpacked = b"\t\x02\x00\x00\x00\x07\x00\x00'\x00t\x00e\x00s\x00t\x00d\x00s\x00a\x00A\x00a\x00s\x00d\x00f\x00\x00\x00\xb4y\x00\x00T\x001\x001\x00a\x00\x00\x006r\x1d\x00\x00\x00'\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\n\x00'\x00\x01\x00\x00\x00\x16\x9e\xfe\xff\xd3\xc9\x03\x00\x10\xf2\xd8\xff\xb5\xa6y\xc7)\x0eh@\xf8\xa0g\xb3\xeaSD@Q\x03\x00\x00\xa40\x00\x00\x00\x00\x00\x00\x07\x00'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\x00\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00'\x00\xa9\x01\x00\x00\xcd\x01\x00\x00\x00\x00\x00\x00\x00\x00'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb5\xa6^\xc7)\x0eh@\xf8\xa0g\xb3\xeaSc@\x00\x00'\x00\n\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00'\x00\x00t\x002\x003\x004\x005\x006\x007'8\x009\x000\x001\x002\x003\x004\x005'6\x00\x00\x00\xd3\xa8\x01\x00s\x001\x001\x00a'\x00\x006r\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01'\x00\x00\x00\x00\x00\x00\n\x00\x00\x00\x01\x00\x00\x00\xf6\xbb\xfe\xff\xdb\xc8\x03\x00\x0e\xf2\xff\xff\x1f\x85\xebQ\xb8\x99X@\x9a\x99\x99\x99\x99\x99M@\x00\x00\x00\x00\x00'\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa9\x01\x00\x00\xcd&\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80X@\x00'\x00\x00\x00\x80M@\x00\x00\x00\x00\n\x00\x00\x00\x00'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        key_new =  b'\xa9\x90\x0f\x8b\x19\x82\xdf\xa0<*\x93\x01\xa1l1\x97'

        pck_out = list(xor_s.pck_in([pck_packed,]))

        self.assertEqual(
            xor_c.xor_in.key,
            old_key,
        )
        self.assertEqual(
            xor_s.xor_in.key,
            key_new,
        )
        self.assertEqual(
            xor_c.xor_out.key,
            old_key,
        )
        self.assertEqual(
            xor_s.xor_out.key,
            old_key,
        )
        self.assertEqual(
            pck_out,
            [pck_unpacked,],
        )

        pck_out = list(xor_s.pck_out(pck_out))

        self.assertEqual(
            xor_c.xor_in.key,
            old_key,
        )
        self.assertEqual(
            xor_s.xor_in.key,
            key_new,
        )
        self.assertEqual(
            xor_c.xor_out.key,
            old_key,
        )
        self.assertEqual(
            xor_s.xor_out.key,
            key_new,
        )
        self.assertEqual(
            pck_out,
            [pck_packed,],
        )
示例#4
0
文件: test_l2.py 项目: yv84/pyph
    def test_xor_set4(self):
        from l2.xor import XorInOut

        class PacketBuffer():
            class Side():
                xor = XorInOut(None)
            client = Side()
            server = Side()
        
        packet_buffer = PacketBuffer()
        xor_c = XorInOut(packet_buffer.client)
        xor_s = XorInOut(packet_buffer.server)
        xor_c.xor_in.packet_buffer = \
            xor_c.xor_out.packet_buffer = \
            xor_s.xor_in.packet_buffer = \
            xor_s.xor_out.packet_buffer = packet_buffer

        old_key = b"\xa9\x90\x0f\x8b\x19\x82\xdf\xa0\xef'\x93\x01\xa1l1\x97" 
        xor_c.xor_in.key = \
            xor_c.xor_out.key = \
            xor_s.xor_in.key = \
            xor_s.xor_out.key = old_key

        pck_packed = b'\xbb+$\xaf\xb64\xebK(\x02\x91\x901]l\xfbR\xc2\xcd' 
        pck_unpacked =b'\x12\x00\x00\x00\x00\x00\x00\x00\x8c\r\x00\x00\x00\x00\x00\x00\x00\x00\x00' 
        key_new = b'\xa9\x90\x0f\x8b\x19\x82\xdf\xa0\x02(\x93\x01\xa1l1\x97'  

        pck_out = list(xor_c.pck_in([pck_packed,]))

        self.assertEqual(
            xor_c.xor_in.key,
            key_new,
        )
        self.assertEqual(
            xor_s.xor_in.key,
            old_key,
        )
        self.assertEqual(
            xor_c.xor_out.key,
            old_key,
        )
        self.assertEqual(
            xor_s.xor_out.key,
            old_key,
        )
        self.assertEqual(
            pck_out,
            [pck_unpacked,],
        )

        pck_out = list(xor_c.pck_out(pck_out))

        self.assertEqual(
            xor_c.xor_in.key,
            key_new,
        )
        self.assertEqual(
            xor_s.xor_in.key,
            old_key,
        )
        self.assertEqual(
            xor_c.xor_out.key,
            key_new,
        )
        self.assertEqual(
            xor_s.xor_out.key,
            old_key,
        )
        self.assertEqual(
            pck_out,
            [pck_packed,],
        )
示例#5
0
文件: test_l2.py 项目: yv84/pyph
    def test_xor_set2(self):
        from l2.xor import XorInOut

        class PacketBuffer():
            class Side():
                xor = XorInOut(None)
            client = Side()
            server = Side()
        
        packet_buffer = PacketBuffer()
        xor_c = XorInOut(packet_buffer.client)
        xor_s = XorInOut(packet_buffer.server)
        xor_c.xor_in.packet_buffer = \
            xor_c.xor_out.packet_buffer = \
            xor_s.xor_in.packet_buffer = \
            xor_s.xor_out.packet_buffer = packet_buffer

        old_key = b"\xa9\x90\x0f\x8b\x19\x82\xdf\xa0\xc8'\x93\x01\xa1l1\x97"
        xor_c.xor_in.key = \
            xor_c.xor_out.key = \
            xor_s.xor_in.key = \
            xor_s.xor_out.key = old_key

        pck_packed = b'\x82an\xd4\xcd~\xa1`\xa8\x8f\x1c+\xf8\x89\xb8\x1f>\xae\xa1\x1cw\xe87e\xca\xc6EL\xed\x81\xb0&\x8f\x1f\x10{\\@\xbf'
        pck_unpacked = b'+s\x001\x001\x00a\x00\x00\x006r\x1d\x000\x88\x00\x006r\x1d\x00\xf2g+\x10\x08\x00\x00\x00\x01\x00\x00\x00\xe0>\x9e '
        key_new =  b"\xa9\x90\x0f\x8b\x19\x82\xdf\xa0\xef'\x93\x01\xa1l1\x97"

        pck_out = list(xor_c.pck_in([pck_packed,]))

        self.assertEqual(
            xor_c.xor_in.key,
            key_new,
        )
        self.assertEqual(
            xor_s.xor_in.key,
            old_key,
        )
        self.assertEqual(
            xor_c.xor_out.key,
            old_key,
        )
        self.assertEqual(
            xor_s.xor_out.key,
            old_key,
        )
        self.assertEqual(
            pck_out,
            [pck_unpacked,],
        )

        pck_out = list(xor_c.pck_out(pck_out))

        self.assertEqual(
            xor_c.xor_in.key,
            key_new,
        )
        self.assertEqual(
            xor_s.xor_in.key,
            old_key,
        )
        self.assertEqual(
            xor_c.xor_out.key,
            key_new,
        )
        self.assertEqual(
            xor_s.xor_out.key,
            old_key,
        )
        self.assertEqual(
            pck_out,
            [pck_packed,],
        )