Sto cercando di capire quale algoritmo di hash viene utilizzato per la directory Cache locale di Microsoft Symbol.Algoritmo hash di Microsoft Symbol Server/Local Cache
Ad esempio, la cache locale può essere qualcosa di simile al seguente
L:\Symbols \browseui.dll \44FBC679fe000 browsue.dll \browseui.pdb \44F402F62 browseui.pdb \explorer.exe \3EBF1F14f7000 explorer.exe \explorer.pdb \3EBF1F141 explorer.pdb \msvcr71.pdb \60D915C6AB6A4F3586E9096E2F8856482 msvcr71.pdb
Sembra che ci sia una sorta di corrispondenza tra un file e il suo database di debug. Oltre a questo, non riesco a capire come vengano generati i nomi di queste (presumibilmente) cartelle di stringhe esadecimali.
Alcuni di questi sono 9 cifre, 13 cifre e altri 33 cifre. Sembra un vero live-file (che per qualche ragione è memorizzato nella cache dei simboli) ha un hash di 13 cifre mentre il suo (quasi simile) database di debug ottiene un hash a 9 cifre. Alcuni database di debug ricevono un hash a 13 cifre; non riesco a capire cosa rende questi speciali, anche se non hanno un live-file corrispondente.
Ho provato hashing dei file di ogni tipo di algoritmo di hash che io sappia (39 di loro) e nessuno partita in qualsiasi modo (verso l'alto, invertito, endian'd alternativo, ecc)
Qualche idea?
Aggiornamento Penso di averlo finalmente trovato. Da Symbol Storage Format:
SymStore utilizza il file system stesso come database. Crea un grande albero di directory, con nomi di directory basati su elementi quali timestamp, firme, età e altri dati del file di simboli.
Modifica Dang, purtroppo si parla solo che il nome della directory è derivato da vari aspetti (non proprio un hash immagino), ma non dice esattamente come. La ricerca continua ... :-(
Quella pagina non funziona più. Non hai una copia da nessuna parte? – nothrow
Neanche la Wayback Machine ha quella pagina. Ma a giudicare dall'URL, suppongo che sia una copia di questo thread: ["Resyncing PDB and EXE"] (https://groups.google.com/forum/#!searchin/microsoft.public.vc.debugger/ risincronizzazione/microsoft.public.vc.debugger/xLVvCBIU6fI/0ErZ6YlXJDEJ), che cita anche il filo [ "minidumps e indicizzazione source"] (https://groups.google.com/forum/#!msg/microsoft.public.windbg/UYKSHJRtsFg/3inc6qfs-esJ) –