-
Notifications
You must be signed in to change notification settings - Fork 90
Description
dnfpkgtool/pvfReader.py:31
fileLength_bytes = pvfHeader.get_Header_Tree_Bytes(4)
fileCrc32_bytes = pvfHeader.get_Header_Tree_Bytes(4)
relativeOffset_bytes = pvfHeader.get_Header_Tree_Bytes(4)
leaf = {
'index': index,
'fn': unpack('I', fn_bytes)[0], 'fn_bytes': fn_bytes,
'filePathLength': unpack('I', filePathLength_bytes)[0],
'filePathLength_bytes': filePathLength_bytes,
'filePath': filePath_bytes.decode(errors='replace').lower(), # 全部转换为小写
'filePath_bytes': filePath_bytes,
'fileLength': (unpack('I', fileLength_bytes)[0] + 3) & 0xFFFFFFFC,
'fileLength_bytes': fileLength_bytes,
'fileCrc32': unpack('I', fileCrc32_bytes)[0], 'fileCrc32_bytes': fileCrc32_bytes,
'relativeOffset': unpack('I', relativeOffset_bytes)[0],
'content': b'',
}
主要是fileLength_bytes fileCrc32_bytes relativeOffset_bytes 全都是空值导致报错
这种是不是我这个私服服主加密了导致的
File "C:\D\Dev\python\pvf\dnfpkgtool\pvfReader.py", line 320, in load_Leafs
'fileLength': (unpack('I', fileLength_bytes)[0] + 3) & 0xFFFFFFFC,
struct.error: unpack requires a buffer of 4 bytes