diff --git a/minor_patch_diff.py b/minor_patch_diff.py index ff48d1e..1cd18cf 100644 --- a/minor_patch_diff.py +++ b/minor_patch_diff.py @@ -1,15 +1,18 @@ import click import json import re +import semver fucked_distance = 0xFFFFFFFF max_size_diff = 10 def get_zone_proto_down_sig(exe_file: str): - res = re.match(".*ffxiv_dx11\.(.*)\.exe", exe_file) - ver = res.group(1) - if ver == "6.40": + res = re.match(".*ffxiv_dx11\.(\d).(\d)(\d)(\w?)\.exe", exe_file) + sem_ver = f"{res.group(1)}.{res.group(2)}.{res.group(3)}" + if res.group(4) != "": + sem_ver = f"{sem_ver}+{res.group(4)}" + if semver.compare(sem_ver, "6.4.0") >= 0: return "40 53 56 48 81 EC ? ? ? ? 48 8B 05 ? ? ? ? 48 33 C4 48 89 44 24 ? 8B F2" else: return "48 89 ? 24 ? ? 48 83 EC 50 8B F2 49 8B" diff --git a/requirements.txt b/requirements.txt index a2c8126..10259e4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,6 +9,7 @@ platformdirs==2.6.2 python-Levenshtein==0.20.9 r2pipe==1.7.4 rapidfuzz==2.13.7 +semver==3.0.1 tomli==2.0.1 -f https://download.pytorch.org/whl/torch_stable.html torch==1.13.1+cu117