How to identify GIM settings by bruteforce
------------------------------------------
http://www.psdevwiki.com/ps3/GimConv#By_bruteforce

The goal of this process is to create a GIM file exactly like the original by doing GIM-to-GIM conversions
In every identification attempt are used different GIM settings, and every GIM file generated is compared with the original (by a hash check)
The "game" ends when the generated GIM file have the same hash than the original. This means you have found the original GIM settings used by sony to create that specific GIM file
This process needs to be made for every GIM file because in PS3 there are (at least) two different types of GIM files used in official firmware that was created by using different GIM settings



First try with the most common GIM settings used in PS3, by using this command:
--------------------------------------------------
 gimconv.exe original.gim -o try1.gim -ps3rgba8888
--------------------------------------------------
Compare hashes "original.gim" VS "try1.gim", if hashes matches you got it at first try. You can replace that GIM by using a custom PNG as input and the same command you used to create "try1.gim", this way:
-----------------------------------------------------------
 gimconv custom.png -o 1stMostCommonInPS3.gim -ps3rgba8888"
-----------------------------------------------------------



Else (if hashes doest matches), try this:
-----------------------------------------------------------------------
 gimconv.exe original.gim -o try2.gim -ps3rgba8888 --update_fileinfo on
-----------------------------------------------------------------------
The command above is a variation of the previous, this is used for GIM files that has an area at the bottom (named fileinfo) containing info about who/when/how the original GIM file was created, by using this command the fileinfo area from "original.gim" is going to be added to "try2.gim" allowing to create a GIM that matches exactly with the original (see *Notes* below)
you SHOULD NOT create custom GIM files by using this command (because you dont want to add fileinfo about you and your PC at bottom of your custom GIM file, right ?), this is only for identification purposes, to rebuild this GIM files you should use the options from "try1.gim" (same image format, but without the fileinfo)



Else (if hashes doest matches), try this:
------------------------------------------
 gimconv.exe original.gim -o try3.gim -dxt5
------------------------------------------
DXT5 is the second most common image format used in PS3, and are very common (every RCO file has a few). Im not including a variant of this format with fileinfo because none of the DXT GIM based files used in official PS3 firmware was found using fileinfo (it looks fileinfo is something sony was using in old PS3 firmwares, before they implemented DXT5 support, and they stopped adding fileinfo before they implementing DXT5 support)








*Notes* (about fileinfo and GimConv versions)
------------------------------------------------
In the example above, the "--update_fileinfo" option copyes the fileinfo area from the "original.gim" and adds it to the "try2.gim".... BUT ! at the end of the fileinfo area there is a text string with the name and version of the tool that generated the GIM (the tool name is always "GimConv" and the version uses to be "1.20e")
In official PS3 firmwares (up to 4.82 and all others) there are some GIM files where it can be seen at bottom of the fileinfo that was generated with "GimConv 1.20e" but the only public GimConv.exe available is 1.20h
In this bruteforce identification process when are made the GIM-to-GIM conversions with the option --update_fileinfo... the generated GIM files contains the version of the GimConv.exe you are using to make the GIM-to-GIM conversion (and this updates the fileinfo, if you use the public 1.20h instead of the original "1.20e" it will change to "1.20h"), we dont want this to happen because it breaks the hash comparison ! (it makes things harder)
The easyer way to bypass this problem is to patch the version permanently in GimConv.exe file (is just 1 byte), this way the GIM files generated by it (when using the option fileinfo) will have the patched version
There are some/lot of GIM files in PS3 retail firmwares made with GimConv 1.20e (and a timestamp of 2006, but are included up to retail 4.82 firmware), so initially is better to use v1.20e always
If you are doing some research in older firmwares try with the other versions specially GimConvC.exe (because there are some GIM files in PS3 pre-retail firmwares made with GimConv 1.20c)
If you are having problems with this, or you are not getting an exact match when doing a hash comparison, open the GIM files in a hexeditor and scroll down to the end of the file to see the GimConv versions sony used originally
For more detailed info about GIM structure see: http://www.psdevwiki.com/ps3/Graphic_Image_Map_(GIM)