#!/bin/sh if [ $# -ne 1 ]; then echo "usage: $0 " >&2 exit 1 fi filename=$1 echo "Extracting: creserved_0 (262,144 bytes)" dd if="$filename" bs=1 skip=$((0x490)) count=$((0x40000)) > creserved_0 echo "Extracting: sdk_version (8 bytes)" dd if="$filename" bs=1 skip=$((0x40490)) count=$((0x8)) > sdk_version echo "Extracting: lv1ldr (124,872 bytes)" dd if="$filename" bs=1 skip=$((0x40500)) count=$((0x1e7c8)) > lv1ldr echo "Extracting: lv2ldr (95,736 bytes)" dd if="$filename" bs=1 skip=$((0x5ed00)) count=$((0x175f8)) > lv2ldr echo "Extracting: isoldr (77,716 bytes)" dd if="$filename" bs=1 skip=$((0x76300)) count=$((0x12f94)) > isoldr echo "Extracting: appldr (128,728 bytes)" dd if="$filename" bs=1 skip=$((0x89300)) count=$((0x1f6d8)) > appldr echo "Extracting: spu_pkg_rvk_verifier.self (64,332 bytes)" dd if="$filename" bs=1 skip=$((0xa89d8)) count=$((0xfb4c)) > spu_pkg_rvk_verifier.self echo "Extracting: spu_token_processor.self (23,188 bytes)" dd if="$filename" bs=1 skip=$((0xb8524)) count=$((0x5a94)) > spu_token_processor.self echo "Extracting: spu_utoken_processor.self (25,552 bytes)" dd if="$filename" bs=1 skip=$((0xbdfb8)) count=$((0x63d0)) > spu_utoken_processor.self echo "Extracting: sc_iso.self (86,828 bytes)" dd if="$filename" bs=1 skip=$((0xc4388)) count=$((0x1532c)) > sc_iso.self echo "Extracting: aim_spu_module.self (17,048 bytes)" dd if="$filename" bs=1 skip=$((0xd96b4)) count=$((0x4298)) > aim_spu_module.self echo "Extracting: spp_verifier.self (55,280 bytes)" dd if="$filename" bs=1 skip=$((0xdd94c)) count=$((0xd7f0)) > spp_verifier.self echo "Extracting: mc_iso_spu_module.self (32,908 bytes)" dd if="$filename" bs=1 skip=$((0xeb13c)) count=$((0x808c)) > mc_iso_spu_module.self echo "Extracting: me_iso_spu_module.self (35,000 bytes)" dd if="$filename" bs=1 skip=$((0xf31c8)) count=$((0x88b8)) > me_iso_spu_module.self echo "Extracting: sv_iso_spu_module.self (49,272 bytes)" dd if="$filename" bs=1 skip=$((0xfba80)) count=$((0xc078)) > sv_iso_spu_module.self echo "Extracting: sb_iso_spu_module.self (23,984 bytes)" dd if="$filename" bs=1 skip=$((0x107af8)) count=$((0x5db0)) > sb_iso_spu_module.self echo "Extracting: default.spp (8,864 bytes)" dd if="$filename" bs=1 skip=$((0x10d8a8)) count=$((0x22a0)) > default.spp echo "Extracting: lv1.self (1,206,944 bytes)" dd if="$filename" bs=1 skip=$((0x10fb80)) count=$((0x126aa0)) > lv1.self echo "Extracting: lv0 (256,168 bytes)" dd if="$filename" bs=1 skip=$((0x236680)) count=$((0x3e8a8)) > lv0 echo "Extracting: lv2_kernel.self (1,526,296 bytes)" dd if="$filename" bs=1 skip=$((0x274f28)) count=$((0x174a18)) > lv2_kernel.self echo "Extracting: eurus_fw.bin (462,740 bytes)" dd if="$filename" bs=1 skip=$((0x3e9940)) count=$((0x70f94)) > eurus_fw.bin echo "Extracting: emer_init.self (525,336 bytes)" dd if="$filename" bs=1 skip=$((0x45a8d4)) count=$((0x80418)) > emer_init.self echo "Extracting: hdd_copy.self (396,664 bytes)" dd if="$filename" bs=1 skip=$((0x4dacec)) count=$((0x60d78)) > hdd_copy.self echo "Extracting: manu_info_spu_module.self (4776 bytes)" dd if="$filename" bs=1 skip=$((0x53ba64)) count=$((0x12a8)) > manu_info_spu_module.self echo "Finished!"