initial code for dumping imessages in a reasonable format
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
from optparse import OptionParser
|
||||
from hfs.emf import EMFVolume
|
||||
from util.bdev import FileBlockDevice
|
||||
import plistlib
|
||||
|
||||
def main():
|
||||
parser = OptionParser(usage="emf_decrypter.py disk_image.bin")
|
||||
parser.add_option("-w", "--nowrite", dest="write", action="store_false", default=True,
|
||||
help="disable modifications of input file, for testing")
|
||||
(options, args) = parser.parse_args()
|
||||
if len(args) < 1:
|
||||
parser.print_help()
|
||||
return
|
||||
device_infos = None
|
||||
if len(args) >= 2: device_infos = plistlib.readPlist(args[1])
|
||||
|
||||
p = FileBlockDevice(args[0], 0, options.write)
|
||||
v = EMFVolume(p, device_infos)
|
||||
if not v.keybag.unlocked:
|
||||
print "Keybag locked, protected files won't be decrypted, continue anyway ?"
|
||||
if raw_input() == "n":
|
||||
return
|
||||
if options.write:
|
||||
print "WARNING ! This tool will modify the hfs image and possibly wreck it if something goes wrong !"
|
||||
print "Make sure to backup the image before proceeding"
|
||||
print "You can use the --nowrite option to do a dry run instead"
|
||||
else:
|
||||
print "Test mode : the input file will not be modified"
|
||||
print "Press a key to continue or CTRL-C to abort"
|
||||
raw_input()
|
||||
v.decryptAllFiles()
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user