-
Notifications
You must be signed in to change notification settings - Fork 0
.pls and .lst files
These formats are used to store Flipnote playlists for various purposes, they can be found in various locations on the SD card as well as within the app's savefile (public.sav
) on the NAND.
Playlists consist of an encrypted list of files followed by a 16-bit checksum. SD card playlists are also padded with null bytes so they are always a consistent length.
.lst
files only list filenames, whereas .pls
files use full filepaths. Filepaths begin with either sdmc:/
or nand:/
and can be up to 256 bytes long.
Filename | Length (bytes) | Purpose |
---|---|---|
dirmemo2.lst |
160000 | Used by each Flipnote folder on the SD card to list the Flipnotes inside it. |
mark0.pls |
8000 | Lists Flipnotes that have had a sticker added to them. |
mark1.pls |
8000 | Lists Flipnotes that have had a sticker added to them. |
mark2.pls |
8000 | Lists Flipnotes that have had a sticker added to them. |
mark3.pls |
8000 | Lists Flipnotes that have had a sticker added to them. |
recent10.pls |
4000 | Lists the 10 most recently edited Flipnotes. |
Filename | Purpose |
---|---|
nand.pls |
Lists all the Flipnotes stored on System Memory. |
mark0.pls |
Lists Flipnotes that have had a sticker added to them. |
mark1.pls |
Lists Flipnotes that have had a sticker added to them. |
mark2.pls |
Lists Flipnotes that have had a sticker added to them. |
mark3.pls |
Lists Flipnotes that have had a sticker added to them. |
recent10.pls |
Lists the 10 most recently edited Flipnotes. |
latest1.pls |
Most recently edited Flipnote. |
remind.pls |
Tracks calendar Flipnotes? |
friend.pls |
Lists people who you've shared Flipnotes with over local wireless. This file is a little weird and should perhaps be investigated further. |
The file list is a simple newline-separated list which always ends with a trailing newline and a null byte (0x0A00
). It is encrypted using an XOR cipher with the following constant key:
0xF7 0x4C 0x6A 0x3A 0xFB 0x82 0xA6 0x37
0x6E 0x11 0x38 0xCF 0xA0 0xDD 0x85 0xC0
0xC7 0x9B 0xC4 0xD8 0xDD 0x28 0x8A 0x87
0x53 0x20 0xEE 0xE0 0x0B 0xEB 0x43 0xA0
0xDB 0x55 0x0F 0x75 0x36 0x37 0xEB 0x35
0x6A 0x34 0x7F 0xB5 0x0F 0x99 0xF7 0xEF
0x43 0x25 0xCE 0xA0 0x29 0x46 0xD9 0xD4
0x4D 0xBB 0x04 0x66 0x68 0x08 0xF1 0xF8
The 16-bit checksum is computed by md5-hashing the plaintext list data and only keeping the 7th and 9th bytes.