Upload pliku main.py
This commit is contained in:
57
main.py
Normal file
57
main.py
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
from PIL import Image
|
||||||
|
import os
|
||||||
|
|
||||||
|
# =========================
|
||||||
|
|
||||||
|
device_path = '/dev/sda'
|
||||||
|
sector_start = 0
|
||||||
|
rows_to_download = 16
|
||||||
|
sectors_per_row = 32
|
||||||
|
|
||||||
|
# =========================
|
||||||
|
|
||||||
|
sectors_to_download = (rows_to_download*sectors_per_row)
|
||||||
|
sector_size = 512
|
||||||
|
width = 16
|
||||||
|
height = 32
|
||||||
|
|
||||||
|
image_width = (1 + (width * sectors_per_row) + (sectors_per_row))
|
||||||
|
image_height = (1 + (height * rows_to_download) + (rows_to_download))
|
||||||
|
|
||||||
|
image = Image.new('RGB', (image_width, image_height), color=(0, 0, 255))
|
||||||
|
pixels = image.load()
|
||||||
|
|
||||||
|
def draw_sector(sector_data, x_offset, y_offset, width, height):
|
||||||
|
for y in range(height):
|
||||||
|
for x in range(width):
|
||||||
|
i = y * width + x
|
||||||
|
if i < len(sector_data):
|
||||||
|
byte_value = sector_data[i]
|
||||||
|
red = byte_value
|
||||||
|
green = byte_value
|
||||||
|
pixels[x + x_offset, y + y_offset] = (red, green, 0)
|
||||||
|
|
||||||
|
def load_sectors(device_path, start_sector, num_sectors, sector_size):
|
||||||
|
sectors_data = []
|
||||||
|
with open(device_path, 'rb') as f:
|
||||||
|
for sector_num in range(start_sector, start_sector + num_sectors):
|
||||||
|
f.seek(sector_num * sector_size)
|
||||||
|
sector_data = f.read(sector_size)
|
||||||
|
sectors_data.append(list(sector_data))
|
||||||
|
return sectors_data
|
||||||
|
|
||||||
|
sektors = load_sectors(device_path, sector_start, sectors_to_download, sector_size)
|
||||||
|
|
||||||
|
draw_sector(sektors[0],1,1,width,height)
|
||||||
|
|
||||||
|
for i in range(rows_to_download):
|
||||||
|
for j in range(sectors_per_row):
|
||||||
|
k = (height*i)+j
|
||||||
|
draw_sector(sektors[k],(1+((width + 1)*j)),(1+((height + 1)*i)),width,height)
|
||||||
|
|
||||||
|
for x in range(image_width):
|
||||||
|
pixels[x, 0] = (0, 0, 255)
|
||||||
|
for y in range(image_height):
|
||||||
|
pixels[0, y] = (0, 0, 255)
|
||||||
|
|
||||||
|
image.save('sectors.png')
|
||||||
Reference in New Issue
Block a user