modified: .github/workflows/mikrotik_patch.yml

modified:   .gitignore
	modified:   patch.py
This commit is contained in:
zyb 2024-06-19 14:04:27 +08:00
parent cf95a2441f
commit 0b76f2feed
3 changed files with 8 additions and 3 deletions

View File

@ -99,7 +99,7 @@ jobs:
sudo wget -nv -O netinstall-$LATEST_VERSION.zip https://download.mikrotik.com/routeros/$LATEST_VERSION/netinstall-$LATEST_VERSION.zip
sudo unzip netinstall-$LATEST_VERSION.zip
sudo rm netinstall-$LATEST_VERSION.zip
- name: Patch netinstall.exe
run: |
sudo -E python3 patch.py netinstall netinstall.exe

2
.gitignore vendored
View File

@ -1,3 +1,3 @@
__pycache__/
venv/
patch_*.py
test_*.py

View File

@ -81,6 +81,12 @@ def patch_bootloader(key_dict,boot_dev):
f.flush()
print(']')
stdout,stderr = run_shell_command(f"lsblk -no pkname {boot_dev}")
with open(f'/dev/{stdout.decode()}','wb') as f:
f.seek(0x150)
f.write(b'\x00')
f.flush()
def patch_squashfs(path,key_dict):
for root, dirs, files in os.walk(path):
for file in files:
@ -126,7 +132,6 @@ def patch_npk_file(key_dict,kcdsa_private_key,eddsa_private_key,input_file,outpu
run_shell_command(f"rm -rf {extract_dir}")
npk[NpkPartID.SQUASHFS].data = open(squashfs_file,'rb').read()
run_shell_command(f"rm -f {squashfs_file}")
npk.sign(kcdsa_private_key,eddsa_private_key)
npk.save(output_file or input_file)