Browse Source
Update patch.py
Signed-off-by: elseif <elseif@live.cn>
pull/110/head
elseif
1 year ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with
2 additions and
5 deletions
-
patch.py
|
|
|
@ -10,10 +10,10 @@ def replace_key(old,new,data,name=''): |
|
|
|
pattern_bytes = b''.join(pattern_parts) |
|
|
|
pattern = re.compile(pattern_bytes, flags=re.DOTALL) |
|
|
|
def replace_match(match): |
|
|
|
print(f'{name} found public key at {match.start()} {match.group().hex().upper()}') |
|
|
|
# print(f'{name} found public key at {match.start()} {match.group().hex().upper()}') |
|
|
|
replaced = b''.join([new_chunks[i] + match.group(i+1) for i in range(len(new_chunks) - 1)]) |
|
|
|
replaced += new_chunks[-1] |
|
|
|
print(f'{name} replace public key {replaced.hex().upper()}') |
|
|
|
# print(f'{name} replace public key {replaced.hex().upper()}') |
|
|
|
print(f'{name} public key patched {old[:16].hex().upper()}...') |
|
|
|
return replaced |
|
|
|
return re.sub(pattern, replace_match, data) |
|
|
|
@ -269,9 +269,6 @@ def patch_squashfs(path,key_dict): |
|
|
|
for file in files: |
|
|
|
file = os.path.join(root,file) |
|
|
|
if os.path.isfile(file): |
|
|
|
if 'sys2' in file: |
|
|
|
os.remove(file) |
|
|
|
continue |
|
|
|
data = open(file,'rb').read() |
|
|
|
for old_public_key,new_public_key in key_dict.items(): |
|
|
|
_data = replace_key(old_public_key,new_public_key,data,file) |
|
|
|
|