How to use dd command to change disk data?

Step 1: Get from offset 0x1000000(byte) and 512 bytes image.

$ sudo dd if=/dev/disk2 bs=512 count=1 skip=32768 of=./test.img

Step 2: Check the hex files

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$ hexdump ./test.img
0000000 55 aa f0 0f 31 2e 30 30 31 2e 30 32 00 00 00 00
0000010 ed d2 5b 75 00 00 00 00 00 00 00 00 00 00 00 00
0000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0000040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02
0000050 30 38 43 33 46 44 46 31 42 31 37 45 43 34 46 34
0000060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0000080 32 30 31 35 31 32 31 32 5f 53 56 4e 30 33 37 37
0000090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
00001f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 31 59
0000200

Step 3: Unmount disk2

1
2
$ diskutil unmount /dev/disk2s1
$ umount /dev/disk2s1

Step 4: Use UltraEdit to change it and write back to disk

sudo dd if=./test_Mod.img of=/dev/disk2 bs=512 count=1 oseek=32768