Notas/ferramentas de engenharia reversa não oficiais - abrange formatos de arquivo, API do servidor e comandos seriais USB
️ Esta documentação não é oficial e não é afiliada ao pânico. Todo o conteúdo aqui foi obtido a partir de ferramentas e arquivos de jogo de engenharia reversa e, como tal, pode haver erros ou informações ausentes.
Documentação
- Formatos de arquivo
- Formatos de jogo PlayDate
- pdex.bin - código executável
- .LUAC - Lua bytecode
- .pdz - contêiner de arquivo
- .pda - arquivo de áudio
- .pdi - arquivo de imagem
- .pdt - arquivo imaginável
- .pdv - arquivo de vídeo
- .pds - arquivo de strings
- .pft - arquivo de fonte
- Outros formatos
- .fnt - arquivo de origem da fonte
- .Strings - Arquivo de origem de Strings (TODO)
- Servidor
- API do PlayDate - API do servidor PlayDate principal
- Misc
- USB - Interface serial USB
- Streaming - Protocolo de streaming de vídeo/áudio (via serial USB), usada pelo PlayDate Mirror
Ferramentas
-
pdz.py - Desembale todos os arquivos de um contêiner de arquivo .pdz . -
pdex2elf.py - converte um pdex.bin em um arquivo ELF que pode ser analisado em ferramentas como leitura, objdump ou ghidra ou compilado de volta ao mesmo pdex.bin original por pdc . -
usbeval.py - usa o comando USB eval do PlayDate para avaliar um script Lua sobre USB. Tem acesso ao tempo de execução do Lua do jogo atualmente carregado, exceto para aplicativos do sistema.
Projetos e recursos relacionados
- PD-USB -Biblioteca JavaScript para interagir com a API serial do PlayDate a partir de um navegador da Web compatível com Webusb.
- UNluac - Fork do desconhecido UNluac Lua, modificado para suportar Lua com sabor de playdate.
- Lua54 - Fork de Lua, que visa combinar os ajustes personalizados que o pânico adicionou para Lua com sabor de jogo.
Obrigado especial
- Zhuowei para este script para descompactar os executáveis .pdx, que era a base para
pdz.py - ScratchMiner para seu trabalho adicional de engenharia reversa nos formatos de arquivo do PlayDate, protocolo de streaming e implementação da Lua.
- Simon por ajudar com alguns dados de áudio do ADPCM Engenharia reversa
- O pessoal em pânico por fazer um computador de mão tão maravilhoso e fascinante!
2022-2023 James Daniel
PlayDate é © Panic Inc. - Este projeto não é afiliado ou endossado por eles de forma alguma.