How to parse snapshot .dat file?

Armin's reply above is absolutely correct. The only sensible way to find out the contents of a snapshot today is to restore it and search it. The relationship between the individual documents and the files stored by Lucene (documentation linked above) is very complicated. The work we're doing in the area of https://github.com/elastic/elasticsearch/issues/50999 may mean you will be able to avoid much of the work of the restore, but you will still need to search something to find the docs it contains.