crc爆破jpg宽高的py代码
时间: 2023-09-27 18:08:55 浏览: 230
以下是一个简单的 Python 脚本,用于爆破 CRC 校验码,以确定 JPEG 文件的宽度和高度。
```python
import binascii
# 定义 JPEG 文件头的字节码,包含起始标记和 APP0 标记
JPEG_HEADER = b'\xff\xd8\xff\xe0\x00\x10\x4a\x46\x49\x46\x00\x01'
# 定义检查的宽度和高度范围
WIDTH_RANGE = range(1, 1000)
HEIGHT_RANGE = range(1, 1000)
# 打开 JPEG 文件并读取字节码
with open('example.jpg', 'rb') as f:
file_bytes = f.read()
# 获取 CRC 校验码的字节码
crc_bytes = file_bytes[4:8]
# 循环遍历可能的宽度和高度组合,并计算它们的 CRC 校验码
for width in WIDTH_RANGE:
for height in HEIGHT_RANGE:
# 构造新的 APP0 标记
app0 = b'\xff\xe0\x00\x10\x4a\x46\x49\x46\x00\x01\x00\x01' + \
width.to_bytes(2, byteorder='big') + \
height.to_bytes(2, byteorder='big')
# 计算新的 APP0 标记的 CRC 校验码
crc = binascii.crc32(app0).to_bytes(4, byteorder='big')
# 如果 CRC 校验码匹配,则输出宽度和高度
if crc == crc_bytes:
print(f'Width: {width}, Height: {height}')
break
```
请注意,这只是一个示例脚本,可能需要根据你的具体情况进行修改。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)