From 2f0f0b1abbb909c264bb679fcfd0ca96439c8627 Mon Sep 17 00:00:00 2001 From: elseif Date: Wed, 5 Feb 2025 23:01:27 +0800 Subject: [PATCH] Update patch.py Signed-off-by: elseif --- patch.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/patch.py b/patch.py index d55f1b1..650086d 100644 --- a/patch.py +++ b/patch.py @@ -5,10 +5,10 @@ from npk import NovaPackage,NpkPartID,NpkFileContainer def replace_key(old,new,data): old_chunks = [old[i:i+4] for i in range(0, len(old), 4)] new_chunks = [new[i:i+4] for i in range(0, len(new), 4)] - pattern_parts = [chunk + b'(.{0,6})' for chunk in old_chunks[:-1]] - pattern_parts.append(old_chunks[-1]) + pattern_parts = [re.escape(chunk) + b'(.{0,6})' for chunk in old_chunks[:-1]] + pattern_parts.append(re.escape(old_chunks[-1])) pattern_bytes = b''.join(pattern_parts) - pattern = re.compile(pattern_bytes) + pattern = re.compile(pattern_bytes, flags=re.DOTALL) def replace_match(match): print(f'public key patched {old[:16].hex().upper()}...') replaced = b''.join([new_chunks[i] + match.group(i+1) for i in range(len(new_chunks) - 1)])