Qt Resource Container (QRC)
Description[edit | edit source]
QRC files (Qt Resources Container) are located inside a QGL folder (Qt Graphics Library) in path: dev_flash/vsh/resource/qgl with names: canyon.qrc, earth.qrc, icons.qrc, icontex.qrc, lines.qrc, raf.qrc, rhm.qrc, and store.qrc. The contents of QRC files are compatible/generated with/by: Qt framework and OpenGL
The internal structure of QRC files can be clasifyed as one of the variants of a group of containers named: CXML Containers
- QRC related firmware modules in dev_flashvsh/modules/:
- qglbase.sprx <--- generic
- qgl_gaia_app.sprx <--- earth animation inside music player
- qgl_canyon_app.sprx <--- abstract animation inside music player
- custom_render_plugin.sprx
- Other stuff related with QRC:
- http://blog.us.playstation.com/2009/09/04/q-games-update-star-dust-dynamic-themes-our-favorite-little-tikiman/
- ps3 standalone visualizer app released by "Q games" (responsibles of XMB design): http://blog.us.playstation.com/2013/08/08/new-ps3-visualizer-app-from-q-games-out-tuesday/ and http://www.ps3hax.net/2013/08/q-games-releases-new-visualizer-music-app-for-ps3-high/
QRC containers[edit | edit source]
icons.qrc & icontex.qrc[edit | edit source]
- See: icons.qrc and icontex.qrc pages
Version (firmware) |
Size (bytes) |
Hash (MD5) |
Contents | Feature (added, removed or changed) | ||||
---|---|---|---|---|---|---|---|---|
FPO | VPO | MNU | DDS | BMP | ||||
1.00~1.02 | 1.288.734 | 451016CFB126C6D050EC5B19ABB93548 | ||||||
1.10 | 1.307.885 | 1B265A359BB59CBE8E3348A2F9B288A1 | ||||||
1.11~1.32 | 1.317.777 | D434CE9BC9AA04C0CDF834DAF82D5A3D | ||||||
1.50~1.54 | 1.317.505 | C0A0FE2D84FB7A68C96A4FB07401286C | ||||||
1.60~1.70 | 697.758 | 44B0B9B26FBF5FC1EB9045E5349EC58A | ||||||
1.80~1.82 | 736.754 | 9877952A1CCB9A032B8706E21DF084E9 | ||||||
1.90 | 752.563 | 835647C1B7C921109912DA92EC557E15 | ||||||
1.92~1.94 | 752.564 | 7B056E396B5ECBF2B969A71D31C6EB6E | ||||||
2.00~2.01 | 30.170 | 4C5F6FEAC323C9DF834C91171DB617AD | XMB Icons moved to the new container: icontex.qrc to allow Static PlayStation 3 Theme (P3T) support | |||||
2.10~2.36 | 30.318 | BAD026CDEA08D3922A2758FC57BC04ED | ||||||
2.40~2.43 | 29.711 | 6F035289BD16E3243C9049F87BF08336 | ||||||
2.50~2.60 | 29.705 | 848AEF795AE0A22B95398DC89D294654 | ||||||
2.70~2.80 | 29.495 | 8B91CD5744D56A64D26D077CF3DCED3E | ||||||
3.00~3.21 | 32.820 | EECFD7C3B62ECB2169AEC89F9ABEC3C6 | ||||||
3.30 | 32.912 | 3B4BD372A29B2FF36A15A0F6D0CB1482 | ||||||
3.40~3.42 | 32.229 | D33497D781EAAA32A4B98B684C073E7D | ||||||
3.50~3.74 | 32.171 | 97342FFE4E3B427E9C2133C1BB6A3BB4 | 33 | 3 | 22 | 1 | 1 | |
4.00~4.01 | 32.313 | 653256BA53207780962A33D1E64A7758 | Bug ? | |||||
4.10~4.89 | 32.171 | 97342FFE4E3B427E9C2133C1BB6A3BB4 | 33 | 3 | 22 | 1 | 1 | Back to 3.50 version |
Version (firmware) |
Size (bytes) |
Hash (MD5) |
Contents | Feature (added, removed or changed) | ||
---|---|---|---|---|---|---|
DDS (m) | DDS (n) | DDS (dif) | ||||
2.00~2.01 | 707.152 | 020BA022EBBC7FA96C77FA01CE351F26 | 54 | 54 | 1 | Static PlayStation 3 Theme (P3T) Support |
2.10~2.36 | 740.224 | 29E7BBBB83E36A7F8E413ABA274BBC33 | 54 | 54 | 1 | |
2.40~2.43 | 795.968 | 7F17470EC7ED46AB5582EB76D86F800F | 56 | 56 | 1 | |
2.50~2.60 | 908.448 | A4F84C8427AA79F9A9CC9664E8D9FABB | 62 | 62 | 1 | |
2.70~2.76 | 901.408 | 9D0D0DB2DB104C661D98E2EF5E1C024E | 62 | 62 | 1 | |
2.80 | 903.328 | 7A48902A0B565931ABB1B01B39BCEE9C | 62 | 62 | 1 | |
3.00~3.01 | 1.361.200 | 3986EF9DBDFA8F134FFFA57D59C45052 | No | 66 | 1 | Removed the "m" versions, added 4 new icons |
3.10~3.30 | 1.386.352 | 60EC9CD4B06808C36413D66D0D389035 | No | 67 | 1 | |
3.40~3.61 | 1.426.032 | 9FBD278929692A82D5102C12922D9B3D | No | 69 | 1 | New icon for [Video Editor & Uploader] application |
3.65~3.74 | 1.413.264 | A23FF4BA6E2E8C3E7FA1C9F10E3484CB | No | 69 | 1 | |
4.00~4.89 | 1.431.936 | 90146D3F374EC92EBED34535E90CD298 | No | 70 | 1 |
lines.qrc[edit | edit source]
- See: lines.qrc page
Version (firmware) |
Size (bytes) |
Hash (MD5) |
Contents | Feature (added, removed or changed) | |||||
---|---|---|---|---|---|---|---|---|---|
ELF | FPO | VPO | MNU | DDS | TGA | ||||
1.00~1.02 | 110.923 | FCC5B919D343533737E33C2ED566EF03 | |||||||
1.10~1.32 | 111.371 | 36A05C991491A281147B241A1338C833 | |||||||
1.50~1.54 | 111.177 | EFBAF47613D96E620329404AA890A2B9 | |||||||
1.60~1.70 | 111.108 | EB6258CEC5A1448138EC02D6444C4C3D | |||||||
1.80~1.82 | 109.685 | 720DB784E69BF03C26AC38B3F161C49A | |||||||
1.90 | 131.246 | D7D34772AAE942017993A56AD086E623 | Wallpapers ? | ||||||
1.92~1.94 | 131.227 | 15E9DFB14DA89B1887C4C96564545B48 | |||||||
2.00~2.01 | 131.433 | 665981A0A66C01A6C96269A24F4765E6 | [Colour], [Background] and [Brightness] have been added as options under [Theme Settings]. | ||||||
2.10~2.17 | 131.602 | 1BD253021A2B4E3864B026670BF96E89 | |||||||
2.20~2.36 | 115.785 | 98DA94D76B0E125A85DF2BBF7423F4E8 | |||||||
2.40~2.43 | 99.050 | 80E15C5B1E70799B2B0F0D93B8180B34 | |||||||
2.50~2.60 | 98.972 | 9AE4A67090D078055787D195E2E1043E | |||||||
2.70~2.76 | 98.633 | 64966A9E622BCB06B1F0E86D3B32FB01 | |||||||
2.80 | 98.633 | 5AEF33A9A6E787CE3126D0CA780DD2DA | |||||||
3.00~3.01 | 183.383 | 94D935914BD2F48519799803897ABED5 | XMB icons change colour with the theme depending on the time of day. Default theme changed to an updated version of Original waves theme. (original theme renamed to Classic). | ||||||
3.10~3.21 | 183.798 | A757DCE0C90559AAFAB296DE6D5A8AE5 | |||||||
3.30 | 183.980 | 3CDBDD7ADC3BB39D3C17B90A81EF7015 | |||||||
3.40~3.42 | 183.874 | 7981D59C7EF731DD0C23EB2681A79FBA | |||||||
3.50 | 183.980 | E102D35341DC27F6EE2DC975C0118C1A | |||||||
3.55~3.56 | 183.981 | A50F1DC98A9EDACBDB7C0B010B369736 | |||||||
3.60~3.66 | 183.980 | D519ECFAC71AB7437AAA6E1C70BDDE4E | |||||||
3.70~3.74 | 183.984 | 961BCCD9CE30D5E579F3ADB157A89EA6 | |||||||
4.00~4.01 | 185.047 | 93687AF9491974446D62F40A0E61BA3F | |||||||
4.10~4.11 | 185.115 | FEED5630296382AE8B7C9F811A12AB80 | |||||||
4.20~4.31 | 185.115 | 405F4E3F76CBD7FD2E99AACD7431DB09 | |||||||
4.40~4.55 | 185.116 | D34D7E2A7DE4502E0454FD787A00A35C | 2 | 47 | 11 | 69 | 24 | 6 | |
4.60~4.89 | 185.105 | 261CD31A2516EF85A6D3B584C9BD02C5 | 2 | 47 | 11 | 69 | 24 | 6 |
rhm.qrc & raf.qrc[edit | edit source]
Version (firmware) |
Size (bytes) |
Hash (MD5) |
Contents | Feature (added, removed or changed) | |
---|---|---|---|---|---|
FPO | VPO | ||||
1.00~1.32 | 1.205 | D1E7281246EC8A46EB6D368BD4B332BD | 3 | 2 | |
1.50~1.94 | 1.142 | 80951055E3973ECCC8BF7E41D6E4BFDD | 3 | 2 | |
2.00~2.01 | 1.139 | 98305A00173927E5D947027BFE1CA0DE | 3 | 2 | Bug ? |
2.10~2.60 | 1.142 | 80951055E3973ECCC8BF7E41D6E4BFDD | 3 | 2 | Back to 1.50 version |
2.70~2.80 | 1.141 | 3118E99D109DE85724C54E3C15C17129 | 3 | 2 | |
3.00~3.74 | 2.489 | 12B8D3A7CDFB3CAF66848704027A44E7 | 8 | 3 | Added glutils library |
4.00~4.89 | 2.487 | 99F008FE3C2BACB937BFC925004E6E99 | 8 | 3 |
Version (firmware) |
Size (bytes) |
Hash (MD5) |
Contents | Feature (added, removed or changed) | ||
---|---|---|---|---|---|---|
BIN | FPO | VPO | ||||
2.70~2.80 | 5.532 | 79B5E301CB12BB0AC53B39634FD918A8 | 1 | 20 | 2 | coldboot.raf Support |
3.00~3.01 | 5.565 | 833C5E1D22303EA35AADCC17F25F61AC | 1 | 20 | 2 | Dynamic PlayStation 3 Theme (P3T) Support |
3.10~3.21 | 5.572 | 07BA8A61785C471242740F915056F0F5 | 1 | 20 | 2 | |
3.30 | 5.542 | FA2388076A217DAFD9A1FD123AF4C847 | 1 | 20 | 2 | |
3.40~3.42 | 5.550 | 9566444DFE340CAA9B9B58AD026E9775 | 1 | 20 | 2 | Bug ?? |
3.50~3.74 | 5.542 | FA2388076A217DAFD9A1FD123AF4C847 | 1 | 20 | 2 | Back to 3.30 version |
4.00~4.01 | 5.479 | B7490AB764B7BC0F9B71A4782C0BAAE7 | 1 | 20 | 2 | |
4.10~4.89 | 5.457 | 1FCC497E937FDC6CDAD6A1707C9CD187 | 1 | 20 | 2 |
canyon.qrc & earth.qrc[edit | edit source]
- See: canyon.qrc and earth.qrc pages
- Music player visualizers (a.k.a. 'valley' and 'gaia'), the other music player visualizer available is a modification of the XMB wave/sparks animation, and is stored inside lines.qrc using specific .MNU settings in path: override/music_1/)
Version (firmware) |
Size (bytes) |
Hash (MD5) |
Contents | Feature (added, removed or changed) | |||
---|---|---|---|---|---|---|---|
FPO | VPO | MNU | DDS | ||||
1.00~1.02 | 72.726 | 0F1B5E3CD6057B71BAF18F3154CD5B8C | Music Player Visualizer (abstract) | ||||
1.10~1.32 | 72.912 | E2C2A3374AED0964EB33FBB2CD987798 | |||||
1.50~1.54 | 72.777 | 5F68DBE12F25178C3777898CCF442945 | |||||
1.60~1.70 | 73.030 | 084513247EC6C3B6853C8A8DE669FF8C | |||||
1.80~1.82 | 73.464 | 3F936EDB8865DE2F8895F176496600FB | |||||
1.90 | 73.467 | 3717F76B98A3EE4C5BFDDC79E746AC53 | |||||
1.92~1.94 | 73.459 | FEB1A93499BABB48F215580B932E604C | |||||
2.00~2.01 | 73.438 | 1EAA9921CA2EC20B2B15400F585150E7 | |||||
2.10~2.36 | 73.614 | 7BAAC386D22BEAF59E8818DE8B5D41BF | |||||
2.40~2.43 | 73.897 | 3F4EC983D33875CCCD3B5A21AD6AB8C2 | |||||
2.50~2.60 | 73.884 | 83FDE07A293C487844306395C3258C82 | |||||
2.70~2.80 | 73.847 | 8A8123CD7FC907C537EFFB346C353F5F | |||||
3.00~3.30 | 73.836 | 134EEB4B4027256C4F7C5271ED5F1BBA | |||||
3.40~3.42 | 73.794 | D346902DC44A5E9B65C28B10D9C98C86 | |||||
3.50~3.74 | 73.828 | 053DA0D0ED6B336E12665D41F0A18387 | 49 | 14 | 348 | 1 | |
4.00~4.01 | 73.950 | B252D14574F1B72019A1444E68C11639 | Bug ? | ||||
4.10~4.31 | 73.840 | 81335553D8C52C39B84A623FAAC20416 | Bugfix fail ? | ||||
4.40~4.89 | 73.828 | 053DA0D0ED6B336E12665D41F0A18387 | 49 | 14 | 348 | 1 | Back to 3.50 version |
Version (firmware) |
Size (bytes) |
Hash (MD5) |
Contents | Feature (added, removed or changed) | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ELF | BIN | FPO | VPO | MNU | DUMP | PATH | INI | TXT | DDS | JPG | ||||
2.00 | 400.569 | 0CF5F811709875C7513EB7EF3D6A4093 | Music Player Visualizer (earth) beta/disabled ? | |||||||||||
2.01 | 400.582 | F12DBB64403808908A0682CF0CEFEF15 | beta/disabled ? | |||||||||||
2.10~2.17 | 2.155.425 | F652752780B5C3567872A2540C7E9471 | A new visualisation in music playback (Earth Visualization) has been added. | |||||||||||
2.20~2.36 | 2.156.458 | CE3FE6DDEE6126CA6EE07E65DA82ADA0 | ||||||||||||
2.40~2.43 | 2.152.811 | CA48FE2B62473602808154B132684922 | ||||||||||||
2.50~2.60 | 2.152.637 | 3C289F94B5601135DE9A1E288EB0F30D | ||||||||||||
2.70~2.76 | 2.144.961 | 7953F2CF91EDD2BB6409F6DE7B48B704 | ||||||||||||
2.80 | 2.145.029 | EAFDAC5D044796B22606E06B86E85638 | ||||||||||||
3.00~3.01 | 2.148.260 | C6E70369FA95B0CA107989524C30BF6E | ||||||||||||
3.10~3.21 | 2.148.378 | 6CDF7D52C5ADAC9B048E9D0C45A19AA7 | ||||||||||||
3.30 | 2.148.553 | 7B09A088BF169AB486FEDB6C569BACFB | ||||||||||||
3.40~3.42 | 2.148.711 | 43475D5E4B7E8FB223061A3BAFFC8213 | ||||||||||||
3.50 | 2.148.512 | 0DB0C5118B06F7D3C8B4C73AD7B0E443 | ||||||||||||
3.55~3.56 | 2.148.509 | 136A3DFDE7C60A34CFF3D4A7BBDCCDE4 | ||||||||||||
3.60~3.66 | 2.148.514 | AA7A02DFCA99E167DA347933B95B7DF4 | ||||||||||||
3.70~3.74 | 2.148.514 | 5CF1F3694ECDBB75A6461FD6C85A5971 | ||||||||||||
4.00~4.01 | 2.147.749 | 0A7C4A327CCD63614E55686FBE6FCCBA | ||||||||||||
4.10~4.11 | 2.147.272 | A05BCDD9504D7111FBD9810D25217D3F | ||||||||||||
4.20~4.31 | 2.147.272 | 30002327D89E49CE2760881444A522C1 | ||||||||||||
4.40~4.89 | 2.147.218 | BEDFE56680ED40807C53E61603C76E1D | 1 | 11 | 49 | 16 | 381 | 3 | 33 | 60 | 3 | 2 | 72 |
store.qrc[edit | edit source]
- See: store.qrc page
Version (firmware) |
Size (bytes) |
Hash (MD5) |
Contents | Feature (added, removed or changed) | ||||
---|---|---|---|---|---|---|---|---|
DDS | FPO | GTF | MNU | VPO | ||||
2.50~2.53 | 195.383 | 5E7AF90288C53BEBF729FF8182471C7F | 3 | 16 | No | 6 | 8 | The PlayStation Network Sign-Up and Account Management utilities have been redesigned. ? |
2.60 | 291.798 | 0E2298E39927AE2C632B7544E99262FD | 5 | 41 | 1 | 20 | 13 | |
2.70~2.80 | 291.369 | 301B589E1D330FC6148A9C50F1763A39 | ||||||
3.00~3.21 | 291.386 | B105F15C8C7A4337F80C3AA52469581C | ||||||
3.30 | 291.393 | 20E92F5465AD6FC2AADF7D04BDBA668F | ||||||
3.40~3.42 | 291.254 | 929D93182B08E41ED01AC45E59513DEC | Bug ? | |||||
3.50~3.56 | 291.393 | 20E92F5465AD6FC2AADF7D04BDBA668F | Back to 3.30 version | |||||
3.60~3.74 | 291.241 | 63D551B86EC752837E9824A2E4E4FECF | ||||||
4.00~4.01 | 291.317 | F7322AEC80109A0B79F2691B0049E561 | ||||||
4.10~4.26 | 291.210 | F89887A9CEF9B8ED942DF6D8C5AC313D | ||||||
4.30~4.31 | 291.238 | BD559BD848D4116EF073B49FF0C2DF4F | ||||||
4.40~4.89 | 291.224 | 5E551FE46DCA11258A29031128E8D998 | 5 | 41 | 1 | 20 | 13 |
QRC contents[edit | edit source]
See Multimedia Formats and Tools page for a general description of DDS, GTF, BMP, TGA, FPO, VPO and JPEG image formats)
- ELF (Executable and Linkable Format) See Specifications here: ELF Header and ELF-64 Object File Format
- BIN (Binary)
- MNU ?
- PATH (Camera path)
- DUMP ?
- TXT ?
- INI ?
- DDS (Direct Draw Surface)
- GTF (Graphics Texture Format)
- BMP (Bitmap)
- TGA (Targa)
- JPEG (Joint Photographic Experts Group)
- FPO (Fragment Program Objects)
- VPO (Vertex Program Objects)
- QRC files from firmware version 1.00 up and including 4.50 : http://mir.cr/TSR5E8PM (32078 KB RAR / unpacked size 243425713 bytes)
- MD5 hashes generated with quickSFV http://pastebin.com/raw.php?i=ATvKyMRC
- CRC32 hashes generated with quickSFV http://pastebin.com/raw.php?i=40h6iMCA
[edit | edit source]
ZLIB[edit | edit source]
QRC files uses ZLIB compression level 9, there are 2 types of QRC files that can be recognized by reading the first 4 bytes either QRCC or QRCF, the next 4 bytes indicates the decompressed size. The first step to extract QRC contents is to remove this 8 bytes at the start of the file. After removed the resulting file is in zlib format
- QGL converter - This code can decompress a QRCC to QRCF and compress a QRCF to QRCC (it crops/generates the first 8 bytes and manages the zlib decompression/compression) QGL.c
- Zlib GUI v1.0 - Nice GUI to work with the zlib dll. Download: official link, or alternative link
QRC Extractors[edit | edit source]
After the ZLIB decompression (needed for all .qrc files except icontex.qrc) the contents can be extracted individually using different tools
P3Textractor - Is posible to use a theme extractor to extract the contents from .qrc files, but first is needed to replace the characters / by _ of the text strings inside the Name table with a hexeditor (e.g: the string override/black/ICONS.mnu needs to be replaced by override_black_ICONS.mnu). Dont use this method, is too much innacurate and obsolete, is kept here only for historical purposes- CXML decompiler v4 alpha - Is a python script to extract the contents of CXML containers (CXML, QRCF, P3TF, RAFO, etc...), and also generates an .xml that represents the original CXML structure. To use it copy the script at bottom of CXML Containers page and save it to your PC as script.py. Then run it from the command line and follow the instructions, it requires python 2
QRC Compilers[edit | edit source]
There are no .qrc compilers, the usual method to modify qrc files is by patching the text strings of the .MNU settings or to inject the custom files with a hexeditor overriting the original .qrc file structure
The patches should never exceeed the size of the original data, incase of patching an predefined area with an smaller patch is recommended to "blank" the original data with zeroes before writing the new data
The format allows also to "remap" the contained files by modifying the entries in the index to make them point to the offset/size of a different file
- Patching strings in hexeditor
- Mostly used with the settings inside .mnu files
- First extract the files with the CXML decompiler script, look at the main .xml to identify the file names, open the .mnu file you want to modify in notepad++ to be able to read the settings in a easy way
- Select the string you want to modify and copy it
- Open the .qrc file in a hexeditor (after ZLIB decompression if needed) and use the search funtion to locate the string you copyed in the previous step
- Notes
- Most of the settings from .mnu files are repeated several times inside the .qrc file. Be sure to patch the correct .mnu file by comparing the data before or/and after
- Injecting files in hexeditor
- Similar than patching a text string but with a bigger chunk of data
External Links[edit | edit source]
- QRC modding by eustolio: http://www.scenespain.net/foro/tutoriales-ps3/tutorial-xmb-custom-cambia-el-color-e-iconos-base-del-xmb/ (2011 may 29)
- Corrections: None :)
- XMB wave modding by glowball: http://www.ps3hax.net/showthread.php?t=25618 (2011 july 1) and http://www.ps3hax.net/showthread.php?t=58673 (2013 july 4)
- Corrections:
- The concept of PAL/NTSC wave is wrong. The wave is common for all PS3 models, resolutions, aspect ratios, and regions. The 8 bytes at the start of the file doesnt has any relationship with PAL/NTSC
- There is no javascript inside the QRC container, the supposed .js file used in glowball method is a chunk of data containing several .mnu files (included the padding between them)
- The idea of an "imaginary" javascript hides the real explain of the structure or what you are patching, making users to dont understand a word and promoting the "blind testing"
- In the case you want to patch 1 byte... you are patching a huge area instead
- Using hardcoded offsets is a safe way to break compatility when the files changes in with newer firmwares and good for softbricking, there is no advise of incompatibility problems
- Corrections:
- Qt Framework
- http://qt-project.org/doc/qt-5/rcc.html
- http://qt-project.org/doc/qt-5/resources.html
- https://qt.gitorious.org/qt/qtbase/source/fb20f9c2da369b07fc50857a90b596ae63f943da:src/tools/rcc
- https://qt.gitorious.org/qt-creator/qt-creator/source/1154a8c6c2bfb223f4239d7902c3755e8a9a1213:src/plugins/resourceeditor/qrceditor
|