Skip to content

lst format

james edited this page Sep 30, 2018 · 1 revision

Overview

This format is used to store Flipnote playlists on the SD card. Playlists consist of a 6-byte header followed by an encrypted list of Flipnote filenames.

Header

The header starts with a crc32 checksum of the decrypted list text with the upper and lower 16 bits swapped around.

After the checksum is a single utf-16 character which indicates the list separator used. This is always a newline (0x0A00 in hex).

List Content

The filelist is a simple newline-separated list of utf-16 filenames which always ends with a trailing newline.

At the end of the filelist is a series flag bytes; one for each file. The purpose of these isn't exactly known, I've only seen them set as 0x00 so far.

This whole section is encrypted using a 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