Mm-ps5-api-mapper
MM PS5 API Mapper est un cadre de recherche et de cartographie système en lecture seule PS5 conçu pour construire une image structurée de la surface de console...
Choisir une liste...
MM PS5 API Mapper v0.8
Carte de l'API de MM PS5est un cadre de recherche en lecture seule PS5 et de cartographie système conçu pour construire une image structurée de la surface de console visible à une charge utile à l'exécution.
Au lieu de rechercher une API, un processus, un module, un appareil, un descripteur ou un sous-système à la fois, le cartographe recueille l'information observable dans un pipeline, la normalise, préserve la provenance et l'exporte comme preuve lisible par machine pour l'analyse hors ligne et la corrélation.
Les données observées sont des preuves et non une hypothèse.Les champs inconnus restent bruts, les relations des candidats restent des candidats et les relations exactes ne sont promues que lorsque les données saisies les appuient.
Ce que le mapper recueille de la PS5
Système de fichiers et surface exécutable
La carteper recense les chemins de système de fichiers observables et les objets exécutables/système pertinents à la cartographie. Pour le matériel ELF/SELF, il peut enregistrer:
- les registres d'inventaire du système de fichiers;
- découverte d'objets ELF/SELF;
- les informations exécutables et d'identité du module;
- métadonnées de programme et de table dynamique;
- les chaînes de caractères et les signes symboliques lorsqu'ils sont observables;
- les symboles importés et exportés;
- les réinstallations;
- les relations entre la bibliothèque et le fournisseur;
- Enregistrements d'API portant NID pour enrichissement hors ligne.
Topologie du processus et de l'exécution
Le cartographe peut enregistrer :
- les processus et les PID;
- modules d'exécution chargés;
- les structures de bibliothèques dynamiques;
- les importations et les exportations visibles par des structures d'exécution cartographiées;
- les relations entre processus et modules;
- les fils associés aux processus cartographiques;
- les ancrages des ressources de processus;
- des lacunes de couverture explicites lorsqu'une succursale ne peut être remplie en toute sécurité.
Mémoire virtuelle
Le cartographe enregistre la topologie VM observable, y compris:
- les ancrages d'espace VM;
- Régions VM;
- les relations module-à-VM;
- les terminateurs de liste VM propres;
- limites d'exécution et lacunes observables.
Cela permet la reconstruction hors ligne de relations telles que:
process -> VM region -> module -> library -> API
sans coder dur une carte firmware dans l'arbre source.
Descripteurs de fichiers et objets ressources
Le cartographe peut énumérer les tableaux de descripteurs de fichiers observables et préserver les relations entre les processus, les descripteurs et les ressources associées.
Il peut enregistrer :
- Les tableaux FD par processus;
- descripteurs de fichiers occupés;
- les ancres de descripteur à ressource;
- préfixes des objets de ressources brutes limités;
- qwords alignés comme un pointeur à l'intérieur des observations limitées;
- des preuves de ressources répétées ou partagées pour le regroupement hors ligne.
Les observations sur les ressources brutes restent délibérément brutes lorsque leur sémantique sans papiers n'est pas établie de façon indépendante.
/dev, bus, appareils et conducteurs
Le mapper peut construire un graphique de ressources matérielles observables à partir de la surface disponible pour la charge utile.
Il peut enregistrer :
/devles entrées d'inventaire;- ancrages de la liste des autobus et état de traversée;
- les dispositifs de bus observables;
- valeurs brutes limites associées aux nœuds de bus;
- les chaînes de candidats imprimables à partir d'observations limitées;
- objets du conducteur;
- les observations de la méthode du conducteur;
- les ancrages mousc/ressources lorsqu'ils sont exposés;
- les terminateurs traversaux et les informations de cohérence;
- des preuves de stabilité.
API, symboles, NID et enrichissement des métadonnées
La carte brute peut être enrichie hors ligne avec :
- PS5 métadonnées SDK de charge utile;
- les bibliothèques SDK installées le cas échéant;
- les informations sur les talons;
- informations sur les symboles dérivés de l'en-tête;
- métadonnées aérolib/NID;
- des enregistrements de symboles statiques et d'exécution capturés par le mapper.
Cela permet aux NID non résolus et aux relations symboliques de devenir un ensemble de données API plus utile face au développeur sans faire entrer ces bases de données dans la charge utile.
Ce que le cartographe corréle
MM PS5 API Mapper est conçu pour construire ungraphique des preuves, pas seulement des décharges isolées.
Selon la surface capturée, le pipeline hors ligne peut corréler :
- processus -> fil;
- processus -> espace MV -> région MV;
- processus -> module chargé;
- module -> bibliothèque -> importation/exportation/API;
- processus -> FD -> objet ressource;
- objet ressource -> famille d'empreintes brutes répétées;
- bus -> dispositif -> conducteur -> preuve de la méthode du conducteur;
- pointeur de bus brut -> entité de bus capturée de façon indépendante;
- pointeur de ressources candidat -> adresse d'objet capturée indépendamment;
/devnom -> candidat lexical bus/dispositif.
Unematch de pointeur exactsignifie égalité numérique entre les adresses saisies indépendamment. Il n'attribue pas automatiquement un nom de champ privé sans papiers. Les similarités lexicales et structurelles restent explicitement marquées en tant que candidates.
Politique en matière de preuves
Le cartographe suit un modèle de preuve conservateur :
- l'observation en lecture seule est préférable à l'observation active;
- les champs inconnus restent inconnus au lieu de recevoir des noms inventés;
- les pointeurs candidats ne sont pas automatiquement déréférences;
- les API découvertes ne sont pas automatiquement exécutées;
- La présence d'API ne prouve pas la permission de l'invoquer;
- les octets répétés peuvent former des familles d'empreintes digitales sans prétendre à une sémantique sans papiers;
- les corrélations exactes exigent des preuves recueillies indépendamment;
- les lacunes de couverture et les limites observables sont émises explicitement;
- les captures de consoles et les adresses spécifiques au firmware sont séparées du code source public.
Les structures de certification, d'authentification, d'authid et de capacité sont en dehors de la politique de sortie publique du mapper.
Produit produit par un essai
Une exécution matérielle écrit sa capture sous:
/data/MM_PS5_API_MAP/
Le format de capture primaire est JSONL de sorte que chaque enregistrement reste accessible indépendamment.
Les outils PC inclus peuvent dériver des ensembles de données CSV/JSON pour:
- système de fichiers/inventaire exécutable;
- les processus et les modules d'exécution;
- fils;
- Les espaces VM et les régions VM;
- les importations, les exportations, les symboles, les NID et les délocalisations;
- Tableaux et descripteurs FD;
- des observations limitées sur les objets de ressources;
- les candidats à un pointeur de ressources;
- les dispositifs d'autobus et les conducteurs;
- les méthodes de pilotage et les ancrages des ressources;
- le pointeur exact se joint;
- les jointures lexicales du candidat;
- les regroupements de ressources et les empreintes digitales;
- les bords des graphiques;
- la couverture et les rapports à limite observable.
Voirdocs/OUTPUT_FORMAT.mdetdocs/SNAPSHOT_WORKFLOW.md.
Pourquoi cela existe pour les développeurs
Le projet est conçu comme une couche de recherche réutilisable pour le développement de PS5 plutôt que comme une charge utile unique.
La sortie Mapper peut aider les développeurs:
- découvrir les bibliothèques, modules et API visibles;
- résoudre les NID en fonction des métadonnées SDK/en-tête disponibles;
- comprendre le processus, le fil et la topologie VM;
- corréler les modules d'exécution avec les régions VM;
- inspecter les relations de descripteur/ressources sans deviner les mises en page non documentées;
- comparer les surfaces du dispositif et du conducteur;
- construire des ensembles de données externes firmware par firmware;
- comparer les captures et identifier des relations stables et changeantes;
- construire des outils de diagnostic, de télémétrie, de visualisation, de compatibilité ou de recherche;
- réutiliser une base de données structurée plutôt que de répéter des découvertes de faible niveau pour chaque projet.
États de preuve
Le cartographe sépare intentionnellement :
- observée— des preuves directement saisies;
- exactement corrélée— des valeurs capturées indépendamment qui correspondent exactement;
- candidat— relations utiles qui nécessitent encore une confirmation;
- inconnu/brut— les données conservées sans étiquette sémantique inventée;
- écart de couverture / limite observable— une branche a délibérément laissé en suspens.
Mise en page du répertoire
src/ PS5 mapper implementation
include/ mapper and parser headers
tools/ offline resolver, comparison, SDK/header/NID enrichment tools
tests/ synthetic host-side regression tests
docs/ output format, workflow, test plan, and technical references
Fichiers racine importants & #160;:
Makefile— le point d'entrée de la charge utile PS5 SDK;BUILD-WINDOWS.bat— aide à la construction de Windows/WSL;SEND-TO-PS5.bat— déployer l'aide en utilisant un localps5_ip.txt;RESOLVE-MAP-WINDOWS.bat— aide au résolveur hors ligne;COMPARE-RUNTIME-GRAPH-WINDOWS.bat— aide à la comparaison des graphiques;HOST-VALIDATE.sh/HOST-VALIDATE-WINDOWS.bat— validation de régression côté hôte.
Exigences de construction
La charge utile est attenduePS5_PAYLOAD_SDKpour pointer vers une installation compatible PS5 Payload SDK.
La validation côté hôte nécessite :
- un compilateur C;
- Python 3;
- l'outillage normal du shell POSIX, ou WSL lorsque vous utilisez les helpers Windows fournis.
La configuration du réseau local est intentionnellement exclue du dépôt. Copier :
ps5_ip.txt.example -> ps5_ip.txt
et définir l'adresse de la console localement.ps5_ip.txtest ignoré par Git.
ELF public public officiel préconstruit
Le fonctionnaireMM PS5 API Mapper v0.8eLF préconstruit est distribué publiquement par le GitHubRejetspage. Il n'est pas stocké dans l'arbre source.
Communiqué public : v0.8 — Resource Chain Correlation Graph
Biens publics :
mm_ps5_api_mapper_v0.8_resource_chain_correlation_graph.elf
SHA-256 :
2adb6cd3967ec25b5bb93021506cd0360ae254b709d43e66a6b496315fd15a18
Une correspondance.sha256fichier est joint à la même version publique GitHub. L'ELF in Releases est la version officielle téléchargeable v0.8 préconstruite et est accessible au public.
Politique de validation
Les tests du côté de l'hôte valident ce qui peut être testé sans console, y compris le comportement de l'analyseur, les chemins de code d'exécution, le comportement du résolveur, les retombées de la mise en scène SDK et les assertions structurelles.
Les résultats de validation du matériel et du firmware sont séparés du dépôt source propre. Le dépôt lui-même ne contient intentionnellement aucune capture de console, des IP locales, des dumps d'adresses spécifiques au firmware ou des bases matérielles personnelles. Cette séparationpasappliquer à la version officielle ELF, qui est publique et téléchargeable à partir de GitHub Releases.
Licence
Le projet est sous licenceGPL-3,0 ou plus tardVoirLICENSE.