58 lines
1.2 KiB
Python
58 lines
1.2 KiB
Python
from pathlib import Path
|
|
|
|
# Script used to check the unencrypted fumen file detection in TAL.
|
|
|
|
|
|
def is_fumen_encrypted(filename):
|
|
with open(filename, "rb") as file:
|
|
file.seek(0x214)
|
|
buffer = file.read(24)
|
|
|
|
# print(buffer)
|
|
|
|
# Expected byte pattern
|
|
expected_bytes = bytes(
|
|
[
|
|
0xFF,
|
|
0xFF,
|
|
0xFF,
|
|
0xFF,
|
|
0xFF,
|
|
0xFF,
|
|
0xFF,
|
|
0xFF,
|
|
0xFF,
|
|
0xFF,
|
|
0xFF,
|
|
0xFF,
|
|
0xFF,
|
|
0xFF,
|
|
0xFF,
|
|
0xFF,
|
|
0xFF,
|
|
0xFF,
|
|
0xFF,
|
|
0xFF,
|
|
0xFF,
|
|
0xFF,
|
|
0xFF,
|
|
0xFF,
|
|
]
|
|
)
|
|
|
|
return buffer != expected_bytes
|
|
|
|
|
|
def check_folder_for_encryption(folder_path):
|
|
folder = Path(folder_path)
|
|
# Iterate over all files recursively in the folder
|
|
for file in folder.rglob("*"):
|
|
if file.is_file():
|
|
if is_fumen_encrypted(file):
|
|
print(f"File '{file}' is NOT valid.")
|
|
|
|
|
|
# Usage example:
|
|
folder_path = "./Data_exported/Data_mods/x64/fumen"
|
|
check_folder_for_encryption(folder_path)
|