mirror of
https://github.com/elseif/MikroTikPatch.git
synced 2025-01-23 13:35:09 +03:00
Update patch.py
Signed-off-by: elseif <elseif@live.cn>
This commit is contained in:
parent
3ba9e027e3
commit
32ef5f3aeb
5
patch.py
5
patch.py
@ -86,14 +86,14 @@ def patch_initrd_xz(initrd_xz:bytes,key_dict:dict,ljust=True):
|
|||||||
new_initrd = new_initrd.replace(old_public_key,new_public_key)
|
new_initrd = new_initrd.replace(old_public_key,new_public_key)
|
||||||
preset = 6
|
preset = 6
|
||||||
new_initrd_xz = lzma.compress(new_initrd,check=lzma.CHECK_CRC32,filters=[{"id": lzma.FILTER_LZMA2, "preset": preset }] )
|
new_initrd_xz = lzma.compress(new_initrd,check=lzma.CHECK_CRC32,filters=[{"id": lzma.FILTER_LZMA2, "preset": preset }] )
|
||||||
while len(new_initrd_xz) > len(initrd_xz):
|
while len(new_initrd_xz) > len(initrd_xz) and preset < 10:
|
||||||
print(f'preset:{preset}')
|
print(f'preset:{preset}')
|
||||||
print(f'new initrd xz size:{len(new_initrd_xz)}')
|
print(f'new initrd xz size:{len(new_initrd_xz)}')
|
||||||
print(f'old initrd xz size:{len(initrd_xz)}')
|
print(f'old initrd xz size:{len(initrd_xz)}')
|
||||||
preset += 1
|
preset += 1
|
||||||
new_initrd_xz = lzma.compress(new_initrd,check=lzma.CHECK_CRC32,filters=[{"id": lzma.FILTER_LZMA2, "preset": preset }] )
|
new_initrd_xz = lzma.compress(new_initrd,check=lzma.CHECK_CRC32,filters=[{"id": lzma.FILTER_LZMA2, "preset": preset }] )
|
||||||
if len(new_initrd_xz) > len(initrd_xz):
|
if len(new_initrd_xz) > len(initrd_xz):
|
||||||
new_initrd_xz = lzma.compress(new_initrd,check=lzma.CHECK_CRC32,filters=[{"id": lzma.FILTER_LZMA2, "preset": 9 ,"mf": lzma.MF_BT2}] )
|
new_initrd_xz = lzma.compress(new_initrd,check=lzma.CHECK_CRC32,filters=[{"id": lzma.FILTER_LZMA2, "preset": 9 | lzma.PRESET_EXTREME,'dict_size': 32*1024*1024,"lc": 4,"lp": 0, "pb": 0,}] )
|
||||||
if ljust:
|
if ljust:
|
||||||
print(f'preset:{preset}')
|
print(f'preset:{preset}')
|
||||||
print(f'new initrd xz size:{len(new_initrd_xz)}')
|
print(f'new initrd xz size:{len(new_initrd_xz)}')
|
||||||
@ -101,6 +101,7 @@ def patch_initrd_xz(initrd_xz:bytes,key_dict:dict,ljust=True):
|
|||||||
print(f'ljust size:{len(initrd_xz)-len(new_initrd_xz)}')
|
print(f'ljust size:{len(initrd_xz)-len(new_initrd_xz)}')
|
||||||
assert len(new_initrd_xz) <= len(initrd_xz),'new initrd xz size is too big'
|
assert len(new_initrd_xz) <= len(initrd_xz),'new initrd xz size is too big'
|
||||||
new_initrd_xz = new_initrd_xz.ljust(len(initrd_xz),b'\0')
|
new_initrd_xz = new_initrd_xz.ljust(len(initrd_xz),b'\0')
|
||||||
|
return new_initrd_xz
|
||||||
|
|
||||||
def find_7zXZ_data(data:bytes):
|
def find_7zXZ_data(data:bytes):
|
||||||
offset1 = 0
|
offset1 = 0
|
||||||
|
Loading…
Reference in New Issue
Block a user