From 873cce2cc953cbfd02e99a81ba3f0d36b464e929 Mon Sep 17 00:00:00 2001 From: Elliot Nunn Date: Sun, 18 Aug 2019 21:36:48 +0800 Subject: [PATCH] Work around partitioned images Just scan for the magic BD --- machfs/main.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/machfs/main.py b/machfs/main.py index 5693823..e41790c 100644 --- a/machfs/main.py +++ b/machfs/main.py @@ -121,6 +121,13 @@ class Volume(AbstractFolder): self.name = 'Untitled' def read(self, from_volume): + for i in range(0, len(from_volume), 512): + if from_volume[i+1024:i+1024+2] == b'BD': + if i: from_volume = from_volume[i:] + break + else: + raise ValueError('Magic number not found in image') + drSigWord, drCrDate, drLsMod, drAtrb, drNmFls, \ drVBMSt, drAllocPtr, drNmAlBlks, drAlBlkSiz, drClpSiz, drAlBlSt, \ drNxtCNID, drFreeBks, drVN, drVolBkUp, drVSeqNum, \