|
|
@ -453,43 +453,40 @@ class RamsesFactory(object): |
|
|
|
'''去除遮罩 0x64 0x65 0x66 0x67''' |
|
|
|
'''去除遮罩 0x64 0x65 0x66 0x67''' |
|
|
|
ret = b'' |
|
|
|
ret = b'' |
|
|
|
flag = False |
|
|
|
flag = False |
|
|
|
sign = [100,101,102,103] |
|
|
|
sign = [ b'\x64', b'\x65', b'\x66', b'\x67' ] |
|
|
|
buf = byt |
|
|
|
buf = byt |
|
|
|
blen = len(buf) |
|
|
|
blen = len(buf) |
|
|
|
|
|
|
|
|
|
|
|
for i in range(blen): |
|
|
|
for i in range(blen): |
|
|
|
# print(f" {i} == {buf[i]}") |
|
|
|
if flag == False and buf[i:i+1] == b'\x40' : |
|
|
|
if flag == False and buf[i] == 64: |
|
|
|
if buf[i+1:i+2] in sign: |
|
|
|
if buf[i+1] in sign: |
|
|
|
|
|
|
|
i-=1 |
|
|
|
|
|
|
|
flag = True |
|
|
|
flag = True |
|
|
|
|
|
|
|
else: |
|
|
|
|
|
|
|
ret = ret + buf[i:i+1] |
|
|
|
continue |
|
|
|
continue |
|
|
|
if flag == False and buf[i] != 64: |
|
|
|
if flag == False and buf[i:i+1] != b'\x40': |
|
|
|
|
|
|
|
ret = ret + buf[i:i+1] |
|
|
|
continue |
|
|
|
continue |
|
|
|
if flag == True and buf[i] == 100: |
|
|
|
if flag == True and buf[i:i+1] == b'\x64': |
|
|
|
buf = buf[:i-1] + b'\x40' + buf[i:] # buf 拼接法 |
|
|
|
ret = ret + b'\x40' |
|
|
|
# ret = ret + b'\x40' |
|
|
|
|
|
|
|
flag = False |
|
|
|
flag = False |
|
|
|
continue |
|
|
|
continue |
|
|
|
if flag == True and buf[i] == 101: |
|
|
|
if flag == True and buf[i:i+1] == b'\x65': |
|
|
|
buf = buf[:i-1] + b'\x23' + buf[i:] # buf 拼接法 |
|
|
|
ret = ret + b'\x23' |
|
|
|
# ret = ret + b'\x23' |
|
|
|
|
|
|
|
flag = False |
|
|
|
flag = False |
|
|
|
continue |
|
|
|
continue |
|
|
|
if flag == True and buf[i] == 102: |
|
|
|
if flag == True and buf[i:i+1] == b'\x66': |
|
|
|
print( f" {i} 102 -11 ====== {buf[i]}") |
|
|
|
ret = ret + b'\x11' |
|
|
|
buf = buf[:i-1] + b'\x11' + buf[i:] # buf 拼接法 |
|
|
|
|
|
|
|
# ret = ret + b'\x11' |
|
|
|
|
|
|
|
flag = False |
|
|
|
flag = False |
|
|
|
continue |
|
|
|
continue |
|
|
|
if flag == True and buf[i] == 103: |
|
|
|
if flag == True and buf[i:i+1] == b'\x67': |
|
|
|
buf = buf[:i-1] + b'\x13' + buf[i:] # buf 拼接法 |
|
|
|
ret = ret + b'\x13' |
|
|
|
# ret = ret + b'\x13' |
|
|
|
|
|
|
|
flag = False |
|
|
|
flag = False |
|
|
|
continue |
|
|
|
continue |
|
|
|
# self.data_after_remove_mask = buf |
|
|
|
# self.data_after_remove_mask = buf |
|
|
|
return buf |
|
|
|
return ret |
|
|
|
pass |
|
|
|
pass |
|
|
|
|
|
|
|
|
|
|
|
def decode_ip_buf(self, buf): |
|
|
|
def decode_ip_buf(self, buf): |
|
|
|
assert self.typ == RamsesType.SAMIP |
|
|
|
assert self.typ == RamsesType.SAMIP |
|
|
|
tmpbuf = buf |
|
|
|
tmpbuf = buf |
|
|
|