Misc Help with rom/iso console identification

spitzeqc

Member
OP
Newcomer
Joined
Apr 18, 2022
Messages
23
Trophies
0
Location
Earth
XP
121
Country
United States
I am currently working on a personal project that involves identifying the system a rom/iso belongs to. These are the current methods I am using to identify files, but I would like to know if
  • My current methods of identification are valid
  • There are easier/better identification methods
  • If there are methods I can use for extension-only game checks that would work to identify extensionless files
  • Checks that can be done to identify games not currently listed
Only checks file extension
Check file extension, or check offset 0x104 for CE ED 66 ... B9 33 3E and offset 0x143 IS NOT C0
Check file extension, or check offset 0x4 for 24 FF AE ... D4 F8 07
Check file extension, or check offset 0x104 for CE ED 66 ... B9 33 3E and offset 0x143 IS C0
GMC: Check for extension or check offset 0x1C for C2 33 9F 3D
ISO: Same as GMC?
Check file extension, or check offset 0x7FF0 for 54 4D 52 20 53 45 47 41
Check file extension, or check offset 0x0 for 4C 59 4E 58
Only checks file extension
Check file extension, or check offset 0xC0 for 24 FF AE ... D4 F8 07
Check file extension, or check offset 0x0 for 4E 45 53 1A
Check offset 0x8D6 for 9E A1 8E 61 72 E3 62 23
Goto offset 0xA97, read the next 67 bytes, mask off top 4 bits of each byte and check for
0E 09 09 0E 0E 0E 0E 0E 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 0E 09 05 02 00 02 02 02 02 02 02 02 06 0F 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 04 06 06 06 06 06 06 06 06 06 06 06 06 06 06 04 05 0B 08 0E 0D
Goto offset 0x42F, read the next 27 bytes, mask off top 4 bits of each byte and check for
USA: 06 01 00 00 03 03 02 02 02 0D 0D 0C 0C 0E 0E 0E 09 08 08 08 08 09 0E 0D 00 06 05
JPN: 0E 09 08 08 0B 0B 0A 0A 0A 05 05 04 04 06 06 06 01 00 00 00 00 01 06 05 08 0E 0D
ISO: Check offset 0x800 for 50 6C 61 79 53 74 61 74 69 6F 6E 33
Dir.: Check dir. for
Code:
PS3_DISC.SFB
PS3_GAME/ICON0.PNG
PS3_GAME/LICDIR/LIC.DAT
PS3_GAME/PARAM.SFO
PS3_GAME/PIC1.PNG
PS3_GAME/PS3LOGO.DAT
Check offset 0x8000 for 01 43 44 30 30 31 01 00 50 53 50 20 47 41 4D 45
Only checks file extension
Only checks file extension
WBFS: Check for extension or check offset 0x0 for 57 42 46 53
ISO: Check offset 0x18 for 5D 1C 9E A3
Check file extension, or check offset 0x0 for 00 00 00 20 49 73 00 00
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,321
Country
United Kingdom
Extension (great until everybody uses .bin or some bright spark invents another format, as does happen from time to time) and unique values in known locations in header/footer/similar aka fingerprinting (should be able to pull such data from whatever emulator source code, homebrew tools or equivalent to http://problemkaputt.de/gbatek.htm for a given system) are the primary two methods.
https://datomatic.no-intro.org/index.php?page=search&s=64
https://emulation.gametechwiki.com/index.php/GoodTools
http://www.advanscene.com/
https://www.progettosnaps.net/dats/MAME/
+ million other dat formats out there.
Matching a hash is not assured (you might have a hacked or trimmed ROM, or a PS1 game ripped in current space year vs caveman days, or a wii game repackaged*) but combined with extension and maybe size then if it is a decent hash** will give you a decent go of things. Every known game for every console (even more so if you narrow by size first or have clues from extension) is not going to be a particularly strenuous database lookup -- hashing the thing in the first place if it is a multi gig ISO is probably going to be harder.

*see also some of the unscrubbing tools for the Wii. https://gbatemp.net/threads/wii-ultimate-unscrubber.452110/ . They do some interesting things and also do stuff with individual files (the ROM/ISO might be hacked or repacked but there is bound to be something that is unchanged, or maybe a directory layout if you want to kick it like so many old school CD lookup databases (for reference they took the length of songs, 13 odd songs not usually all going to be the same length and order and maybe gap between tracks even though there were notable collision https://musicbrainz.org/doc/FreeDB for start in that world)

**when the GBA was current, albeit about to be replaced by the DS, we did see a Scene group force a collision/match to the stock ROM in CRC32 for their introed ROM. Nobody yet I have seen has force matched even MD5, never mind SHA1 or anything fun that some of the links above support.
 
  • Like
Reactions: spitzeqc

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Xdqwerty @ Xdqwerty: good night