La bibliothèque Unreal (UELIB) vous fournit une API à lire (analyse / désérialiser) le contenu des fichiers de package de jeu de moteur Unreal tels que .udk, .upk. Son objectif principal est de décompiler le code d'octet Unelscript à son code source d'origine.
Il accomplit cela en lisant les classes de données Unreal nécessaires telles que:
UObject, UField, UConst, UEnum, UProperty, UStruct, UFunction, UState, UClass,
UTextBuffer, UMetaData, UPackage
Des classes telles que USTRUCT, USTATE, UCLASS et UFONCTION contiennent le code d'octet UnreAlScript que nous pouvons désérialiser afin de reconstruire les codes d'octets à sa source UnreAlscript d'origine.
De plus, Uelib est également capable de désérialiser de nombreuses classes de données telles que:
UFont, USound, UPalette, UTexture,
UTexture2D, UTexture2DDynamic, UTexture2DComposite, UTexture3D,
UTextureCube, UTextureFlipBook, UTextureMovie
UPrimitive, UPolys
Install-Package Eliot.UELib| Module | Version | Licence |
|---|---|---|
using UELib ;
// Instantiates a FileStream and deserializes the package's header, will also auto-detected a suitable build to associate the package with.
var package = UnrealLoader . LoadPackage ( @"C:PathPackage.upk" , System . IO . FileAccess . Read ) ;
Console . WriteLine ( $ "Version: { package . Summary . Version } " ) ;
// Necessary if working with packages that have been cooked for a console platform, and IF the build was not properly auto-detected.
// package.CookerPlatform = BuildPlatform.Console;
// Initializes the registered classes, constructs and deserializes(loads) the package objects.
package . InitializePackage ( ) ;
// Now we can iterate over all the initialized objects, but beware! This includes fake-import objects.
foreach ( var obj in package . Objects )
{
// If positive then we have an export, or import if negative, if null, we are working with a 'None' object, but this shouldn't occur here.
if ( ( int ) obj > 0 )
{
Console . WriteLine ( $ "Export:" ) ;
}
else if ( ( int ) obj < 0 )
{
Console . WriteLine ( $ "Import:" ) ;
}
Console . WriteLine ( $ "ObjectIndex: { ( int ) obj } " ) ;
Console . WriteLine ( $ "Name: { obj . Name } " ) ;
Console . WriteLine ( $ "Class: { obj . Class ? . Name } " ) ;
Console . WriteLine ( $ "Outer: { obj . Outer } " ) ;
Console . WriteLine ( $ "Path: { obj . GetReferencePath ( ) } " ) ;
} Si vous cherchez à modifier la bibliothèque dans le seul but de modding UE Explorer, je vous recommande de cloner ou de fourrer ce référentiel et d'installer UE Explorer dans votre dossier UELib/src/bin/Debug/ , ou modifiez la configuration du projet pour construire à l'intérieur du dossier de l'UE Explorer.
Il s'agit d'un tableau de jeux qui sont confirmés comme compatibles avec l'état actuel d'Uelib, le tableau est trié par version de package.
| Nom | Moteur: branche | Forfait / licencié | État de soutien |
|---|---|---|---|
| Irréel | 100-226 | 61/000 | |
| Star Trek: The Next Generation: Klingon Honor Guard | 219 | 61/000 | |
| X-com: Alliance | 200-220 | 61/000 | Mauvaise sortie au début des fonctions (BeginFunctionToken) |
| Dr Brain: réaction d'action | 224 | 63-68 / 000 | |
| Blast de Nerf Arena | 225 | 63-68 / 000 | |
| La roue du temps | 225: Wot | 63-68 / 000 | |
| Pack de mission Unreal: Retour à Na Pali | 226b | 68/000 | |
| Tournoi irréel | 338-436 | 68-69 / 000 | |
| Deus ex | 400-436 | 68/000 | |
| Jazz Jackrabbit 3D | 400 | 68/000 | |
| Duke Nukem Forever (2001) | 613 | 68/002 | Les décalages ustruct sont désactivés à un mauvais code de sortie |
| Rune | 400 | 69/000 | |
| Irrémédiable | 405 | 69/000 | |
| X-com: Enforcer | 420 | 69/000 | |
| Ops tactiques: assaut sur terreur | 436 | 69/000 | |
| Star Trek: Deep Space Nine: The Fallen | 338 | 73/000 | |
| Harry Potter et la pierre du sorcier | 436 | 76/000 | |
| Harry Potter et la chambre des secrets | 433 | 79/000 | |
| Le frère de Disney Bear | 433 | 80/000 | Lien |
| Forces mobiles | 436 | 81-83 / 000, 69 | |
| Clive Barker est éternel | 420 | 72-85 / 000 | Les versions 72 à 83 ne sont pas détectées automatiquement. |
| Voleur: ombres mortelles | 777: chair | 95/133 | LinkedData non pris en charge |
| Deus ex: guerre invisible | 777: chair | 95/069 | LinkedData non pris en charge |
| Xiii | 829 | 100/058 | |
| Postal 2: paradis perdu | 1417 | 118/002 | |
| Cell Splinter de Tom Clancy | 829 | 100/017 | |
| Cell Splinter de Tom Clancy: Agent double | 829 | 100/167: SCX | (PC) Version en mode hors ligne |
| Rainbow Six 3: Raven Shield de Tom Clancy | 600-927 | 118/012-014 | |
| Tournoi Unreal 2003 | 1077-2225 | 119/025 | |
| Dévastation | 600-? | 118-120 / 004-008 | |
| Unreal II: l'éveil | 829-2001 | 126/2609 | |
| Unreal II: multijoueur élargi | 2226 | 126/000 | Les fonctionnalités personnalisées ne sont pas décompilées |
| Land of the Dead: Road to Fiddler's Green | 2226 | 126/001 | |
| Tournoi Unreal 2004 | 3120-3369 | 128/029 | |
| L'armée américaine 2 | 3339 | 128/032: 033 | 2.5, 2.6, 2,8 |
| L'armée américaine (Arcade) | 3339 | 128/032 | 2.6 |
| Orchestre rouge: Ostfront 41-45 | 3323-3369 | 128/029 | |
| Meurtre à plancher | 3369 | 128/029 | |
| Territoire de combat: batterie | 3369 | 128/029? | |
| Vanguard: Saga des héros | Inconnu | 129/035 | |
| Harry Potter et le prisonnier d'Azkaban | 2226 | 129/000 | Lien |
| Shrek 2 | 2226 | 129 | |
| Conte de requin | 2226 | 129/003 | |
| La série Snicket est une série d'événements malheureux | 2226 | 129/003 | |
| Swat 4 | 2226: vengeance | 129/027 | |
| Stargate SG1: l'alliance | 4180 | 130/004 | |
| Tribus: vengeance | 2226: vengeance | 130/027 | |
| Bioshock | 2226: vengeance | 130-141 / 056 | |
| Hommes de vaillance | 926 | 137/000 | PC |
| Bioshock 2 | 2226: vengeance | 143/059 | |
| Championnat Unreal 2: Liandri Conflict | 3323 | 151/002 | Tierce personne |
| Les chroniques de Spellborn | 3323 | 159/029 | |
| Duke Nukem Forever (2011) | Inconnu | 156/036 | L'extraction est requise |
| Endwar de Tom Clancy | Inconnu | 329/000 | |
| Roboblitz | 2306 | 369/006 | |
| Emprise | 2605 | 375/025 | |
| Mass Effect (Xbox 360) | 2674 | 391/092 | Xénon |
| Médaille d'honneur: aéroportée | 2859 | 421/011 | |
| Branches: Fuel de la guerre | 2917 | 433/052 | |
| Armée de deux | 3004 | 445/079 | La qualité globale n'a pas été vérifiée |
| Mortal Kombat Komplete Edition | 2605 | 472/046 | |
| Worlats de Stargate | 3004 | 486/007 | |
| Gears of War | 3329 | 490/009 | |
| Mass Effect (Windows) | 3240 | 491/1008 (~ 112) | PC |
| The Bourne Conspiracy de Robert Ludlum | 511/039 | ||
| Transformers: Guerre pour Cybertron | 511/144 145 | PC, PS3, Xenon | |
| Tournoi Unreal 3 | 3809 | 512/000 | |
| Miroirs Edge | 3716 | 536/043 | |
| Protocole alpha | 3857 | 539/091 | |
| APB: Bulletin All Points | 3908 | 547 / 028-032 | |
| X-Men Origins: Wolverine | 4206 | 568/101 | La qualité globale n'a pas été vérifiée |
| Gears of War 2 | 4638 | 575/000 | |
| Criminel | 4701 | 576/005 | |
| Batman: Arkham Asylum | 4701 | 576/21 | |
| Médaille d'honneur (2010) | 100075 ??? | 581/058 | Mauvais codes d'octets |
| Singularité | 4869 | 584/126 | |
| Alpha de base de lune | 4947 | 587/000 | |
| Scie | Inconnu | 584/003 | |
| Le royaume exilé d'Arborea ou Tera | 4206 | 610/014 | |
| Combat du lundi soir | 5697 | 638/000 | |
| Univers DC en ligne | 5859 | 638/6405 | |
| Kit de développement irréel | 5860-12791 | 664-868 | |
| Blacklight: Tango Down | 6165 | 673/002 | |
| Dungeons & Dragons: Daggerdale | 6165 | 674/000 | |
| Défenseurs du donjon | 6262 | 678/002 | |
| Mass Effect 3 (Windows) | 6383 | 684/194 | PC (la plate-forme doit être définie sur Console ) |
| Effet de masse: édition légendaire (Windows) | 6383 | 684/171 | PC (la plate-forme doit être définie sur Console ) |
| Alice Madness revient | 6760 | 690/000 | |
| La balle | 6699 | 706/000 | |
| Bioshock infini | 6829 | 727/075 | |
| Bullets | 7052 | 742/029 | |
| Orchestre rouge 2: Héros de Stalingrad | 7258 | 765 / inconnu | |
| Rising Storm 2: Vietnam | 7258 | 765/771 | |
| Aliens: Colonial Marines | 4170 | 787/047 | |
| Blade à l'infini 1 | 7595 | 788/001 | Console |
| Déshonoré | 9099 | 801/030 | |
| Tribus: monte | 7748 | 805 / inconnu | |
| Tony Hawk's Pro Skater HD | |||
| Rocher des âges | 7748 | 805/000 | |
| Batman: Arkham City | 7748 | 805/101 | |
| Batman: Arkham Origins | 7748 | 807/138 | Non vérifié |
| Sanctuaire | 7876 | 810/000 | |
| Antichambre | 7977 | 812/000 | |
| Flots | 8171 | 813/000 | |
| Super Monday Night Combat | 8364 | 820/000 | |
| Gears of War 3 | 8653 | 828/000 | |
| Énigme quantique | 8623 | 832/32870 | |
| Quartiers frontaliers | 4871 | Inconnu | |
| Borderlands 2 | 8623/0023 | 832/056 | |
| Borderlands: le jeu de l'année amélioré | 5001/0001 | 832/058 | |
| Souviens-toi de moi | 8623 | 832/021 | |
| Le hanté: les enfers atteignent | 8788 | 841/000 | |
| La colère d'Asura | 8788 | 841/000 | -zlib; La plate-forme doit être définie sur la console. |
| Blacklight Retribution | 8788-10499 | 841-864 / 002 | |
| Blade à l'infini 2 | 9059 | 842-864 / 001 | Console |
| Quille | 8916 | 845/000 | |
| DMC: Devil May Cry | 8916 | 845/004 | |
| XCOM: ennemi inconnu | 8916 | 845/059 | |
| Gears of War: Jugement | 10566 | 846/000 | |
| Transformers: chute de cybertron | 846 (~ 587) / 181 | ||
| Dead Pool | 846 (~ 587) / 181 | ||
| Inmomentum | 8980 | 848/000 | |
| Non mécanique | 9249 | 852/000 | |
| Soulevé | 9375 | 854/000 | |
| Terre des morts | 9375 | 854/000 | |
| Ravagé | 9641 | 859/000 | |
| Les cinq cœurs | 9656 | 859/000 | |
| Painkiller HD | 9953 | 860/000 | |
| Chevalerie: guerre médiévale | 10246 | 860/000 | |
| Colporteur | 10681 | 860/004 | |
| Ligue de fusée | 10897 | 867/009 (868/032 n'a pas été testé) | Décryptage requis |
| Styx: Master of Shadows | 10499 | 860/004 | |
| Batman: Arkham Knight | 863/32995 | Non vérifié | |
| Gigantesque: édition déchaînée | 19100 | 867/010 | |
| Infinity lame 3 | 868/000 | Console | |
| Guilty Gear Xrd | 10246 | 868/003 | Décryptage requis |
| Survivre à | 12046 | 868/003 | |
| Heroes Might & Magic VII | 12161 | 868/004 | (Les fonctionnalités de signature et personnalisées ne sont pas prises en charge) |
| Bombe | 11767 | 870/000 | |
| Les orques doivent mourir! Déchaîné | 20430 | 870/000 | |
| Gal * Gun: double paix | 10897 | 871/000 | |
| Narbore | 8623/1055 | 874/078 | |
| Un chapeau à temps | 12097 | 877-893 / 005 | |
| Blue Estate le jeu | 10246 | 893/000 | |
| Complexe d'ombre remasterisée | 10897 | 893/001 | |
| Soldat avant 2 | 6712 | 904/009 | |
| Ascension de la triade | 10508 | Inconnu | |
| Sherlock Holmes: crimes et punitions | 10897 | Inconnu | |
| Rage extraterrestre | 7255 | Inconnu |
Méfiez-vous, ouvrir un package non pris en charge pourrait écraser votre système! Assurez-vous que vous avez tout enregistré avant d'ouvrir n'importe quel fichier!
Remarque Les packages UE3 prêts pour la production sont souvent compressés et doivent d'abord être décompressés, un package Unreal Decompressor par Gildor est un outil qui peut décompresser la plupart des packages pour vous; Pour certains jeux, vous avez besoin d'un décompresseur spécialisé, voir par exemple rlupktool.
Vous voulez ajouter le support pour un jeu? Voir l'ajout de support pour de nouvelles classes Unreal
Connaissez-vous un jeu compatible mais qui n'est pas répertorié ici? Cliquez en haut à droite pour modifier ce fichier!