default: flash clean: rm -f blob-original blob-1 blob-2 blob-1-hacked blob-hacked blob-original: boot_usb ./boot_usb read 0 131072 $@ flash: blob-original blob-hacked boot_usb mv blob-original blob-backup-$(shell date +%Y%m%d) ./boot_usb flash 0 blob-hacked ./boot_usb off rm -f blob-hacked blob-1: blob-original dd if=$< of=$@ bs=1024 count=2 blob-2: blob-original dd if=$< of=$@ bs=1024 skip=2 blob-1-hacked: blob-1 md5="$(firstword $(shell md5sum $<))"; \ if [ "$$md5" != "4331204d83bb76a6ac06f5bdd32487b5" ]; then \ exit 1; \ fi; dd if=$< bs=1 count=800 > $@ # code /bin/echo -ne "\xa0\x42\x9f\xe5" >> $@ # ldr r4, [pc, #672] /bin/echo -ne "\x00\x50\x94\xe5" >> $@ # ldr r5, [r4] /bin/echo -ne "\x00\x50\x84\xe5" >> $@ # str r5, [r4] /bin/echo -ne "\x98\x42\x9f\xe5" >> $@ # ldr r4, [pc, #664] /bin/echo -ne "\x01\x00\x15\xe3" >> $@ # tst r5, #1 /bin/echo -ne "\x14\x00\x00\x1a" >> $@ # bne 0x386 /bin/echo -ne "\x04\x00\x15\xe3" >> $@ # tst r5, #4 /bin/echo -ne "\x12\x00\x00\x0a" >> $@ # beq 0x386 /bin/echo -ne "\x7c\x12\x9f\xe5" >> $@ # ldr r1, [pc, #636] /bin/echo -ne "\x00\x20\x91\xe5" >> $@ # ldr r2, [r1] /bin/echo -ne "\x00\x00\x52\xe3" >> $@ # cmp r2, #0 /bin/echo -ne "\x00\x00\x00\x0a" >> $@ # beq 0x354 /bin/echo -ne "\x02\xf0\xa0\xe1" >> $@ # mov pc, r2 /bin/echo -ne "\x0a\x12\xa0\xe3" >> $@ # mov r1, #0xa0000000 /bin/echo -ne "\x00\x20\x91\xe5" >> $@ # ldr r2, [r1] /bin/echo -ne "\x34\x32\x9f\xe5" >> $@ # ldr r3, [pc, #564] /bin/echo -ne "\x03\x00\x52\xe1" >> $@ # cmp r2, r3 /bin/echo -ne "\x0a\x00\x00\x1a" >> $@ # bne 0x394 /bin/echo -ne "\x4a\x12\xa0\xe3" >> $@ # mov r1, #0xa0000004 /bin/echo -ne "\x00\xf0\x91\xe5" >> $@ # ldr pc, [r1] /bin/echo -ne "\x00\x00\xa0\xe1" >> $@ # nop /bin/echo -ne "\x00\x00\xa0\xe1" >> $@ # nop /bin/echo -ne "\x00\x00\xa0\xe1" >> $@ # nop /bin/echo -ne "\x00\x00\xa0\xe1" >> $@ # nop /bin/echo -ne "\x00\x00\xa0\xe1" >> $@ # nop /bin/echo -ne "\x00\x00\xa0\xe1" >> $@ # nop /bin/echo -ne "\x00\x00\xa0\xe1" >> $@ # nop /bin/echo -ne "\x0a\x12\xa0\xe3" >> $@ # mov r1, #0xa0000000 /bin/echo -ne "\x00\x20\x91\xe5" >> $@ # ldr r2, [r1] dd if=$< bs=1 skip=916 count=560 >> $@ # data /bin/echo -ne "\x08\x00\xf0\x40" >> $@ # PSPR dd if=$< bs=1 skip=1480 >> $@ blob-hacked: blob-1-hacked blob-2 md5="$(firstword $(shell md5sum blob-1-hacked))"; \ if [ "$$md5" != "7fa9222673364f477c61e588f2d111ee" ]; then \ exit 1; \ fi; cat blob-1-hacked blob-2 > blob-hacked rm -f blob-1-hacked blob-1 blob-2