Hey fellows! Happy new year
2011 will be better to all of us!
Long time I don't play with C code... drinking an Erdinger here, and some other there, remembered old times coding this simple tool to extract files from CORE_OS_PACKAGE.pkg (after decoded with geohot tool, of course).
It's not hardcoded, so you can use it on every firmware version that's out. Attached the source code and a x86_64 dynamic compiled at CentOS 5.4.
Maybe the code is wrong, but until now, I assume that's ok. Let's play 
Cheers!
Code:
[root@localhost 3.41-debug]# ./coreos_extract CORE_OS_PACKAGE.pkg.dec
Number of files: 23
Extracting filename: creserved_0 with size: 262144 at position 1120
Extracting filename: sdk_version with size: 8 at position 263264
Extracting filename: lv1ldr with size: 125256 at position 263296
Extracting filename: lv2ldr with size: 94192 at position 388608
Extracting filename: isoldr with size: 77940 at position 482816
Extracting filename: appldr with size: 123476 at position 560768
Extracting filename: spu_pkg_rvk_verifier.self with size: 64204 at position 684244
Extracting filename: spu_token_processor.self with size: 23700 at position 748448
Extracting filename: spu_utoken_processor.self with size: 26064 at position 772148
Extracting filename: sc_iso.self with size: 86828 at position 798212
Extracting filename: aim_spu_module.self with size: 17560 at position 885040
Extracting filename: spp_verifier.self with size: 55280 at position 902600
Extracting filename: mc_iso_spu_module.self with size: 32908 at position 957880
Extracting filename: me_iso_spu_module.self with size: 35000 at position 990788
Extracting filename: sv_iso_spu_module.self with size: 49272 at position 1025788
Extracting filename: sb_iso_spu_module.self with size: 23984 at position 1075060
Extracting filename: default.spp with size: 8864 at position 1099044
Extracting filename: lv1.self with size: 1211888 at position 1107968
Extracting filename: lv0 with size: 255608 at position 2319872
Extracting filename: lv2_kernel.self with size: 1561552 at position 2575480
Extracting filename: eurus_fw.bin with size: 462740 at position 4137032
Extracting filename: emer_init.self with size: 511416 at position 4599772
Extracting filename: hdd_copy.self with size: 396648 at position 5111188
Done!
[root@localhost 3.41-debug]#