Skip to content

chris-mosley/FoobarIndexParser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

FoobarIndexParser

Script to reverse engineer what each of the bytes in the foobar index.dat file are for.

Here's the structure as I understand it so far:

Header
    MagicSignature  35 47 5E 2A 60 1B 4B 4B 82 57 5C 8E 61 26 FD F6 
    PlaylistCount   06 00 00 00 
    LVEnabled       01 00 00 00

Playlist 1
    Name Length     07 00 00 00 
    Name            44 65 66 61 75 6C 74 
    SelectedTrack   39 06 00 00 
    
    Metadata Length 58 00 00 00 
                    03 00 00 00 
                    32 51 65 52 57 8F 56 4C 9A EE 17 52 5C 67 9A 5D 
                    10 00 00 00 
                    F4 44 92 24 95 1E 1A 46 90 A0 CC E8 93 8B E2 C0 
                    43 61 37 F4 79 4D E7 47 90 2E 10 A6 7B B5 57 0F 
                    04 00 00 00 
                    30 71 00 00 
                    72 03 AA E3 5E 85 22 44 9A 5A 60 0B 13 38 5B B1 
                    04 00 00 00 
    ForcedSort      00 00 00 00
    
    FileCount       01 00 00 00
    Filename        84 92 40 79 07 D4 D6 6A AB 2A A1 6D FD AF 60 3F

Playlist 2
    Name Length     0C 00 00 00 
    Name            43 6C 61 73 73 69 63 20 52 6F 63 6B 
    SelectedTrack   DE 01 00 00 
    Segment Length  6D 00 00 00 
    Next Length     04 00 00 00 
                    32 51 65 52 
                    57 8F 56 4C 9A EE 17 52 5C 67 9A 5D 
    Next Length     10 00 00 00 
                    
                    EB 4B 6B 7E E0 C6 61 40 BE 7F 2D 84 29 5F DE 8A 
                    43 61 37 F4 79 4D E7 47 90 2E 10 A6 7B B5 57 0F 
                    04 00 00 00 
                    84 23 00 00
                    
                    72 03 AA E3 5E 85 22 44 9A 5A 60 0B 13 38 5B B1 
                    04 00 00 00
                    00 00 00 00 
                    EE BC 6F 0C EC 8E 87 4F 8F E4 25 C2 3D 90 21 36
                    01 00 00 00 
                    01 
    FileCount       01 00 00 00
    Filename        AA 59 31 90 6D DE 84 31 51 3D CB 1B 8E 40 22 21 

Playlist 3
    Name Length     03 00 00 00 
    Name            45 44 4D 
    553             29 02 00 00 
    Segment Length  6D 00 00 00 
                    04 00 00 00 
                    32 51 65 52 57 8F 56 4C 9A EE 17 52 5C 67 9A 5D 
                    10 00 00 00 
                    
                    59 96 D6 9B 96 DA 09 4B 97 2E 4C 74 FF 3F 39 69 
                    43 61 37 F4 79 4D E7 47 90 2E 10 A6 7B B5 57 0F 
                    04 00 00 00 
                    AA 2A 00 00 
                    
                    72 03 AA E3 5E 85 22 44 9A 5A 60 0B 13 38 5B B1
                    04 00 00 00 
                    00 00 00 00 
                    EE BC 6F 0C EC 8E 87 4F 8F E4 25 C2 3D 90 21 36
                    01 00 00 00
                    01 
    FileCount       01 00 00 00
    FileName        AE 55 9E 64 64 5F 4A 32 D1 06 CB 9A 5E 2E 22 25
Library Viewer Selection
    
    Name Length     18 00 00 00 
    Name            4C 69 62 72 61 72 79 20 56 69 65 77 65 72 20 53 65 6C 65 63 74 69 6F 6E 
    Current Track   74 07 00 00 
    
    Segment Length  6C 00 00 00 
                    04 00 00 00 
                    32 51 65 52 
                    57 8F 56 4C 9A EE 17 52 5C 67 9A 5D 
                    10 00 00 00 
                    
                    FF C3 84 68 04 2C 8A 4D 94 3F 24 64 1A CA 16 0C 
                    
                    43 61 37 F4 79 4D E7 47 90 2E 10 A6 7B B5 57 0F 
                    04 00 00 00
                    CA A6 00 00 
                    
                    72 03 AA E3 5E 85 22 44 9A 5A 60 0B 13 38 5B B1 
                    04 00 00 00 
    ForcedSort      00 00 00 00 
                    
                    96 50 60 28 3C 3C 3E 49 BE 99 82 9C 6B 0D B2 F8 
                    00 00 00 00
    
    FileCount       01 00 00 00
    File Name       6C 23 73 D6 85 D1 9F 6E BD 8F DA FD 4F 85 9B C2


Dynamic Playlist 1
    
    Name Length     0F 00 00 00 
    Name            4C 61 73 74 20 46 6F 75 72 20 57 65 65 6B 73 
    Current Track   00 00 00 00 
    
    Segment Length  A9 00 00 00 
                    04 00 00 00 
                    32 51 65 52
                    57 8F 56 4C 9A EE 17 52 5C 67 9A 5D 
                    10 00 00 00 
                    AC EB 9F 75 13 8F D5 4E 92 DA EF C6 61 AF D8 D4 
                    43 61 37 F4 79 4D E7 47 90 2E 10 A6 7B B5 57 0F 
                    04 00 00 00 
                    00 00 00 00
                    55 65 F1 82 CB 7A 8C 43 9C 4B 55 E1 D8 4D 15 64 
                    3D 00 00 00 
    ForcedSort      00 00 00 00 
                    
                    F4 53 B6 51 D7 A2 10 48 99 BD 06 72 47 12 17 5A 
    
    Query Length    21 00 00 00 
    Query           25 6C 61 73 74 5F 70 6C 61 79 65 64 25 20 44 55 52 49 4E 47 20 4C 41 53 54 20 34 20 57 45 45 4B 53
                    00 00 00 00 
                    
                    72 03 AA E3 5E 85 22 44 9A 5A 60 0B 13 38 5B B1 
                    04 00 00 00 
                    00 00 00 00
    
    FileCount       01 00 00 00 
    FileName        62 A6 D9 1E 38 89 97 04 0A 0E D8 73 0C AF B6 E7 

About

Script to figure out what each of the bytes in the foobar index.dat file are for.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published