Notas/herramientas de ingeniería inversa no oficial de PlayDate: cubre formatos de archivo, API del servidor y comandos de serie USB
️ Esta documentación no es oficial y no está afiliada al pánico. Todo el contenido en este documento se obtuvo de las herramientas de juego de ingeniería inversa y los archivos de juegos, y como tal puede haber errores o información faltante.
Documentación
- Formatos de archivo
- Formatos de juego PlayDate
- pdex.bin - código ejecutable
- .Luac - Lua bytecode
- .pdz - contenedor de archivos
- .pda - archivo de audio
- .pdi - archivo de imagen
- .pdt - archivo imaginado
- .pdv - archivo de video
- .pds - archivo de cadenas
- .pft - archivo de fuentes
- Otros formatos
- .fnt - archivo fuente de fuente
- .Strings - Strings Fuente de origen (TODO)
- Servidor
- API PlayDate - API del servidor PlayDate principal
- Maga
- USB - Interfaz de serie USB
- Transmisión - Protocolo de transmisión de video/audio (a través de USB Serial), utilizado por PlayDate Mirror
Herramientas
-
pdz.py : desempaqueta todos los archivos desde un contenedor de archivos .pdz . -
pdex2elf.py : convierte un pdex.bin en un archivo ELF que se puede analizar en herramientas como Readelf, Objdump o Ghidra, o compilarse con el mismo pdex.bin original por pdc . -
usbeval.py : utiliza el comando USB eval de PlayDate para evaluar un script Lua sobre USB. Tiene acceso al tiempo de ejecución de Lua del juego cargado actualmente, excepto para las aplicaciones del sistema.
Proyectos y recursos relacionados
- PD-USB -Biblioteca JavaScript para interactuar con la API serie de Playdate de un navegador web compatible con WebUSB.
- Unluac - tenedor del descompilador de Lua Lua, modificado para admitir Lua con sabor a PlayDate.
- LUA54 - Fork de Lua que tiene como objetivo igualar los ajustes personalizados que Panic agregó para Lua con sabor a PlayDate.
Agradecimiento especial
- Zhuowei para este script para desempacar los ejecuciones de playdate .pdx, que fue la base de
pdz.py - ScratchMiner para su mayor trabajo de ingeniería inversa en los formatos de archivo de PlayDate, el protocolo de transmisión y la implementación de LUA.
- Simon por ayudar con algunos datos de audio ADPCM Ingeniería inversa
- ¡La gente de Panic por hacer una mano tan maravillosa y fascinante!
2022-2023 James Daniel
PlayDate es © Panic Inc.: este proyecto no está afiliado o respaldado por ellos de ninguna manera.