1234567891011121314151617181920212223242526 |
- #!/usr/bin/env python3
- import subprocess as sp
- def main(args):
- with open(args.disk, 'rb') as f:
- f.seek(args.block * args.block_size)
- block = (f.read(args.block_size)
- .ljust(args.block_size, b'\xff'))
- # what did you expect?
- print("%-8s %-s" % ('off', 'data'))
- return sp.run(['xxd', '-g1', '-'], input=block).returncode
- if __name__ == "__main__":
- import argparse
- import sys
- parser = argparse.ArgumentParser(
- description="Hex dump a specific block in a disk.")
- parser.add_argument('disk',
- help="File representing the block device.")
- parser.add_argument('block_size', type=lambda x: int(x, 0),
- help="Size of a block in bytes.")
- parser.add_argument('block', type=lambda x: int(x, 0),
- help="Address of block to dump.")
- sys.exit(main(parser.parse_args()))
|