how to write offset number to disk use python? - Pyguys - Apr-10-2020
please advice. here is sample of result get view disk hex with xxd in terminal. thanks.
Output: 00000000: 0000 0000 0000 0000 dddd dddd dddd dddd ................
00000010: 0000 0000 0000 0010 dddd dddd dddd dddd ................
00000020: 0000 0000 0000 0020 dddd dddd dddd dddd ....... ........
00000030: 0000 0000 0000 0030 dddd dddd dddd dddd .......0........
00000040: 0000 0000 0000 0040 dddd dddd dddd dddd .......@........
00000050: 0000 0000 0000 0050 dddd dddd dddd dddd .......P........
00000060: 0000 0000 0000 0060 dddd dddd dddd dddd .......`........
00000070: 0000 0000 0000 0070 dddd dddd dddd dddd .......p........
00000080: 0000 0000 0000 0080 dddd dddd dddd dddd ................
00000090: 0000 0000 0000 0090 dddd dddd dddd dddd ................
000000a0: 0000 0000 0000 00a0 dddd dddd dddd dddd ................
000000b0: 0000 0000 0000 00b0 dddd dddd dddd dddd ................
RE: how to write offset number to disk use python? - bowlofred - Apr-10-2020
Can you explain further what you want? I don't know what you mean by "write offset number to disk".
Are you trying to write data into a file at a specified offset? Or maybe you're looking for the offset of data in an already-written file?
RE: how to write offset number to disk use python? - Pyguys - Apr-11-2020
(Apr-10-2020, 04:00 PM)bowlofred Wrote: Can you explain further what you want? I don't know what you mean by "write offset number to disk".
Are you trying to write data into a file at a specified offset? Or maybe you're looking for the offset of data in an already-written file?
hi,
thanks for reply. i am trying to write offset number to Entire hard drive format as your see my post.
rough ideas:
import sys
max = sys.maxsize
for i in range(0,max,10):
print(i) and this offset number write to every line offset 7 place. left side of offset 7 fill 00, offset 8-15 fill dd.
Output: 026023b0: 0000 0000 0260 23b0 dddd dddd dddd dddd .....`#.........
026023c0: 0000 0000 0260 23c0 dddd dddd dddd dddd .....`#.........
026023d0: 0000 0000 0260 23d0 dddd dddd dddd dddd .....`#.........
026023e0: 0000 0000 0260 23e0 dddd dddd dddd dddd .....`#.........
026023f0: 0000 0000 0260 23f0 dddd dddd dddd dddd .....`#.........
02602400: 0000 0000 0260 2400 dddd dddd dddd dddd .....`$.........
02602410: 0000 0000 0260 2410 dddd dddd dddd dddd .....`$.........
here is offset 02602410 output
it's not full code. still thinking how to do it. need your help. thanks.
RE: how to write offset number to disk use python? - bowlofred - Apr-11-2020
Rather than a 7-place offset, I'd probably do an 8-place offset and just multiply the number by one nibble (16). Something like this?
import struct
import sys
d_bytes = struct.pack(">Q", 0xdddddddddddddddd)
for index in range(10):
offset_bytes = struct.pack(">Q", index * 16)
sys.stdout.buffer.write(offset_bytes)
sys.stdout.buffer.write(d_bytes) And when run:
Output: $ python3 offset.py | xxd
00000000: 0000 0000 0000 0000 dddd dddd dddd dddd ................
00000010: 0000 0000 0000 0010 dddd dddd dddd dddd ................
00000020: 0000 0000 0000 0020 dddd dddd dddd dddd ....... ........
00000030: 0000 0000 0000 0030 dddd dddd dddd dddd .......0........
00000040: 0000 0000 0000 0040 dddd dddd dddd dddd .......@........
00000050: 0000 0000 0000 0050 dddd dddd dddd dddd .......P........
00000060: 0000 0000 0000 0060 dddd dddd dddd dddd .......`........
00000070: 0000 0000 0000 0070 dddd dddd dddd dddd .......p........
00000080: 0000 0000 0000 0080 dddd dddd dddd dddd ................
00000090: 0000 0000 0000 0090 dddd dddd dddd dddd ................
RE: how to write offset number to disk use python? - Pyguys - Apr-11-2020
(Apr-11-2020, 07:18 AM)bowlofred Wrote: Rather than a 7-place offset, I'd probably do an 8-place offset and just multiply the number by one nibble (16). Something like this?
import struct
import sys
d_bytes = struct.pack(">Q", 0xdddddddddddddddd)
for index in range(10):
offset_bytes = struct.pack(">Q", index * 16)
sys.stdout.buffer.write(offset_bytes)
sys.stdout.buffer.write(d_bytes) And when run:
Output: $ python3 offset.py | xxd
00000000: 0000 0000 0000 0000 dddd dddd dddd dddd ................
00000010: 0000 0000 0000 0010 dddd dddd dddd dddd ................
00000020: 0000 0000 0000 0020 dddd dddd dddd dddd ....... ........
00000030: 0000 0000 0000 0030 dddd dddd dddd dddd .......0........
00000040: 0000 0000 0000 0040 dddd dddd dddd dddd .......@........
00000050: 0000 0000 0000 0050 dddd dddd dddd dddd .......P........
00000060: 0000 0000 0000 0060 dddd dddd dddd dddd .......`........
00000070: 0000 0000 0000 0070 dddd dddd dddd dddd .......p........
00000080: 0000 0000 0000 0080 dddd dddd dddd dddd ................
00000090: 0000 0000 0000 0090 dddd dddd dddd dddd ................
Thanks so much. That’s what I need!
|