Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

you should add vita, psm, and psp packages support

Abierto
#5 4 comentarios 1 reacción 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
35/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
cpp
Área
tooling

Línea de trabajo

Comienza comparando la compatibilidad existente con paquetes PS3 con las implementaciones de referencia: subprojects/LibShared/Package/PackageExtractor.cpp, app/pkg.c, pkg_dec.c y pkg2zip.c. Traza cómo se gestionan las claves de los paquetes y los flags de los elementos, especialmente la condición de claves mixtas de PSP. Se considera terminado cuando los paquetes de Vita, PSM y PSP se extraen correctamente, incluidos los elementos de PSP que requieren claves de PSP o de PS3.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

these are pretty much identical to the ps3 format, their just encrypted with different keys

example code for this can be found here in SnowPME;
https://github.com/OpenPSS/SnowPME/tree/main/subprojects/LibShared/Package
specifically: https://github.com/OpenPSS/SnowPME/blob/62d41cc4937f51089ebf820a4906043bbf7646cb/subprojects/LibShared/Package/PackageExtractor.cpp#L92

or if you prefer in C, you can look here https://silica.codes/Li/real-package-installer/src/branch/main/app/pkg.c
or here .. https://github.com/st4rk/PkgDecrypt/blob/master/pkg_dec.c

another thing to note; in the case of PSP, actually some pkgs (mainly, MINIs and PSX games) have files encrypted with PS3 keys, and others are encrypted with the PSP keys; the key used is determined by the 'flags' set on PKG_ITEM_RECORD;
none of these examples handle this case other than maybe skipping it-

basically the condition is ((flags >> 0x1C)&7) == 1 if thats true, you use the PSP key to decrypt this item;
otherwise, you use the PS3 key.

the only thing i know that actually handles this properly is pkg2zip; see. https://github.com/mmozeiko/pkg2zip/blob/9222c4e00235dfe7914e9db0cc352da07e63d9f9/pkg2zip.c#L693 .. although i will be the first to admit its code is not the nicest.

Lenguaje dominante
C++
Estrellas
58
Forks
4
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Issues similares

Más issues de C++

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.