嘗試在python中制作用于磁盤映像的腳本(例如.dd格式)。最初是作為獲得另一個十六進制調試器的項目而開始的,還對嘗試從驅動器中獲取原始數據有更多的興趣。這就變成了想要能夠首先對驅動器進行映像的方法。無論如何,我已經逛了大約一個星期左右,發現從較小的驅動器上的驅動器中獲取信息的最佳方式似乎是這樣的:with file("/dev/sda") as f: i=file("~/imagingtest.dd", "wb") i.write(f.read(SIZE))size是磁盤大小。問題是,這似乎是一個眾所周知的問題,嘗試使用大磁盤顯示為(即使在我的情況下,總大小為250059350016字節):“ OverflowError:Python int太大,無法轉換為C long”有沒有更合適的方法來解決此問題?由于它對于小型閃存驅動器工作正常,但是嘗試對驅動器進行映像失敗。我已經看到提到可能僅按扇區數(在我的情況下為488397168)按扇區大?。?12)進行迭代,但是想確切地驗證如何以一種可行的方式執行此操作。在此先感謝您提供的任何幫助,對于您無意中發現的任何不便,我們深表歉意。
2 回答

Helenr
TA貢獻1780條經驗 獲得超4個贊
是的,這就是您應該這樣做的方式。盡管您可以根據需要大于扇區大小。
with open("/dev/sda",'rb') as f:
with open("~/imagingtest.dd", "wb") as i:
while True:
if i.write(f.read(512)) == 0:
break
添加回答
舉報
0/150
提交
取消