La Biblioteca Unreal (UELIB) le proporciona una API para leer (analizar/deserializar) el contenido de los archivos de paquetes de juegos de motor Unreal como .UDK, .Upk. Su objetivo principal es descompilar el código de byte UnrealScript a su código fuente original.
Logra esto leyendo las clases de datos Unreal necesarias como:
UObject, UField, UConst, UEnum, UProperty, UStruct, UFunction, UState, UClass,
UTextBuffer, UMetaData, UPackage
Las clases como Ustruct, Ustate, UClass y Ufunction contienen el código de bytes irrealscript que podemos deserializar para volver a construir los códigos de bytes a su fuente original de UnrealScript.
Además, Uelib también es capaz de deserializar muchas más clases de datos, como:
UFont, USound, UPalette, UTexture,
UTexture2D, UTexture2DDynamic, UTexture2DComposite, UTexture3D,
UTextureCube, UTextureFlipBook, UTextureMovie
UPrimitive, UPolys
Install-Package Eliot.UELib| Módulo | Versión | Licencia |
|---|---|---|
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 está buscando modificar la biblioteca con el único propósito de modificar UE Explorer, le recomiendo que clone o bifurque este repositorio e instale UE Explorer dentro de su UELib/src/bin/Debug/ Carper, o cambie la configuración del proyecto para construir dentro de la carpeta del Explorador UE.
Esta es una tabla de juegos que se confirma que es compatible con el estado actual de Uelib, la tabla está ordenada por versión de paquetes.
| Nombre | Motor: rama | Paquete/licenciatario | Estado de apoyo |
|---|---|---|---|
| Irreal | 100-226 | 61/000 | |
| Star Trek: La próxima generación: Klingon Honor Guard | 219 | 61/000 | |
| X-com: Alianza | 200-220 | 61/000 | Mala salida al comienzo de las funciones (beginfunctionToken) |
| Dr. Brain: Reacción de acción | 224 | 63-68/000 | |
| Explosión de la arena de nerf | 225 | 63-68/000 | |
| La rueda del tiempo | 225: wot | 63-68/000 | |
| Paquete de misión de Unreal: regresa a Na Pali | 226b | 68/000 | |
| Torneo irreal | 338-436 | 68-69/000 | |
| Deus ex | 400-436 | 68/000 | |
| Jazz Jackrabbit 3D | 400 | 68/000 | |
| Duke Nukem Forever (2001) | 613 | 68/002 | Las compensaciones de ustruct están fuera de lo que conduce a un código de salida malo |
| Runa | 400 | 69/000 | |
| Irrealidad | 405 | 69/000 | |
| X-com: ejecutor | 420 | 69/000 | |
| Ops táctica: asalto al terror | 436 | 69/000 | |
| Star Trek: Deep Space Nine: The Fallen | 338 | 73/000 | |
| Harry Potter y la piedra del hechicero | 436 | 76/000 | |
| Harry Potter y la Cámara de los Secretos | 433 | 79/000 | |
| El hermano del hermano de Disney | 433 | 80/000 | Enlace |
| Fuerzas móviles | 436 | 81-83/000, 69 | |
| Clive Barker está eterno | 420 | 72-85/000 | Las versiones 72 a 83 no se detectan automáticamente. |
| Thief: sombras mortales | 777: carne | 95/133 | LinkedData no es compatible |
| Deus ex: guerra invisible | 777: carne | 95/069 | LinkedData no es compatible |
| Xiii | 829 | 100/058 | |
| Postal 2: Paradise Lost | 1417 | 118/002 | |
| Cell Splinter de Tom Clancy | 829 | 100/017 | |
| Celda Splinter de Tom Clancy: agente doble | 829 | 100/167: SCX | (PC) Versión del modo fuera de línea |
| Tom Clancy's Rainbow Six 3: Raven Shield | 600-927 | 118/012-014 | |
| Torneo Unreal 2003 | 1077-2225 | 119/025 | |
| Devastación | 600-? | 118-120/004-008 | |
| Unreal II: el despertar | 829-2001 | 126/2609 | |
| Unreal II: multijugador expandido | 2226 | 126/000 | Las características personalizadas no están descompiladas |
| Land of the Dead: Road to Fiddler's Green | 2226 | 126/001 | |
| Torneo Unreal 2004 | 3120-3369 | 128/029 | |
| Ejército de Estados Unidos 2 | 3339 | 128/032: 033 | 2.5, 2.6, 2.8 |
| Ejército de Estados Unidos (Arcade) | 3339 | 128/032 | 2.6 |
| Orquesta Roja: Ostfront 41-45 | 3323-3369 | 128/029 | |
| Piso de matar | 3369 | 128/029 | |
| Territorio de batalla: batería | 3369 | 128/029? | |
| Vanguard: saga de héroes | Desconocido | 129/035 | |
| Harry Potter y el prisionero de Azkaban | 2226 | 129/000 | Enlace |
| Shrek 2 | 2226 | 129 | |
| Cuento de tiburón | 2226 | 129/003 | |
| Lemony Snicket es una serie de eventos desafortunados | 2226 | 129/003 | |
| Swat 4 | 2226: venganza | 129/027 | |
| Stargate SG1: La alianza | 4180 | 130/004 | |
| Tribus: venganza | 2226: venganza | 130/027 | |
| Biohock | 2226: venganza | 130-141/056 | |
| Hombres de valor | 926 | 137/000 | ordenador personal |
| BioShock 2 | 2226: venganza | 143/059 | |
| Campeonato de Unreal 2: conflicto de Liandri | 3323 | 151/002 | Tercero |
| Las crónicas de Spellborn | 3323 | 159/029 | |
| Duke Nukem Forever (2011) | Desconocido | 156/036 | Se requiere extracción |
| Tom Clancy's Endwar | Desconocido | 329/000 | |
| Roboblitz | 2306 | 369/006 | |
| Dominio completo | 2605 | 375/025 | |
| Mass Effect (Xbox 360) | 2674 | 391/092 | Xenón |
| Medalla de honor: en el aire | 2859 | 421/011 | |
| Línea delantera: combustible de guerra | 2917 | 433/052 | |
| Ejército de dos | 3004 | 445/079 | La calidad general no ha sido verificada |
| Edición mortal kombat komplete | 2605 | 472/046 | |
| Mundos de Stargate | 3004 | 486/007 | |
| Engranajes de guerra | 3329 | 490/009 | |
| Efecto de masa (ventanas) | 3240 | 491/1008 (~ 112) | ordenador personal |
| La conspiración The Bourne de Robert Ludlum | 511/039 | ||
| Transformers: Guerra para Cybertron | 511/144,145 | PC, PS3, Xenon | |
| Torneo Unreal 3 | 3809 | 512/000 | |
| Miradores de la orilla | 3716 | 536/043 | |
| Protocolo alfa | 3857 | 539/091 | |
| APB: Bulletín de todos los puntos | 3908 | 547/028-032 | |
| X-Men Origins: Wolverine | 4206 | 568/101 | La calidad general no ha sido verificada |
| Gears of War 2 | 4638 | 575/000 | |
| Crimes | 4701 | 576/005 | |
| Batman: Arkham Asylum | 4701 | 576/21 | |
| Medalla de Honor (2010) | 100075 ??? | 581/058 | Malos bytes codificadores |
| Singularidad | 4869 | 584/126 | |
| Alfa de base de luna | 4947 | 587/000 | |
| Sierra | Desconocido | 584/003 | |
| El reino exiliado de Arborea o Tera | 4206 | 610/014 | |
| Combate del lunes por la noche | 5697 | 638/000 | |
| DC Universo en línea | 5859 | 638/6405 | |
| Kit de desarrollo irreal | 5860-12791 | 664-868 | |
| Blacklight: tango hacia abajo | 6165 | 673/002 | |
| Dungeons & Dragons: Daggerdale | 6165 | 674/000 | |
| Defensores de mazmorras | 6262 | 678/002 | |
| Mass Effect 3 (Windows) | 6383 | 684/194 | PC (la plataforma debe estar configurada en Console ) |
| Mass Effect: edición legendaria (Windows) | 6383 | 684/171 | PC (la plataforma debe estar configurada en Console ) |
| Alice Madness regresa | 6760 | 690/000 | |
| La pelota | 6699 | 706/000 | |
| Biohock infinito | 6829 | 727/075 | |
| Tormenta de bala | 7052 | 742/029 | |
| Orquesta Roja 2: Héroes de Stalingrado | 7258 | 765/desconocido | |
| Rising Storm 2: Vietnam | 7258 | 765/771 | |
| Extraterrestres: marines coloniales | 4170 | 787/047 | |
| Infinity Blade 1 | 7595 | 788/001 | Consola |
| Deshonrado | 9099 | 801/030 | |
| Tribus: ascender | 7748 | 805/desconocido | |
| Tony Hawk's Pro Skater HD | |||
| Roca de edades | 7748 | 805/000 | |
| Batman: Arkham City | 7748 | 805/101 | |
| Batman: Arkham Origins | 7748 | 807/138 | No verificado |
| Santuario | 7876 | 810/000 | |
| Anticuación | 7977 | 812/000 | |
| Ondas | 8171 | 813/000 | |
| Super Monday Night Combat | 8364 | 820/000 | |
| Gears of War 3 | 8653 | 828/000 | |
| Enigma cuántico | 8623 | 832/32870 | |
| Fronteras | 4871 | Desconocido | |
| Borderlands 2 | 8623/0023 | 832/056 | |
| Borderlands: Juego del año mejorado | 5001/0001 | 832/058 | |
| Acuérdate de mí | 8623 | 832/021 | |
| El embrujado: Hells Reach | 8788 | 841/000 | |
| La ira de Asura | 8788 | 841/000 | -zlib; La plataforma debe estar configurada en la consola. |
| Retribución de la luz negra | 8788-10499 | 841-864/002 | |
| Infinity Blade 2 | 9059 | 842-864/001 | Consola |
| Quebar | 8916 | 845/000 | |
| DMC: Devil May Cry | 8916 | 845/004 | |
| XCOM: Enemigo desconocido | 8916 | 845/059 | |
| Gears of War: juicio | 10566 | 846/000 | |
| Transformers: Fall of Cybertron | 846 (~ 587)/181 | ||
| Dead pool | 846 (~ 587)/181 | ||
| Inmomentum | 8980 | 848/000 | |
| No mecánico | 9249 | 852/000 | |
| Ventana | 9375 | 854/000 | |
| Tierra de los muertos | 9375 | 854/000 | |
| Devastado | 9641 | 859/000 | |
| Los cinco núcleos | 9656 | 859/000 | |
| Analgésico HD | 9953 | 860/000 | |
| Caballería: guerra medieval | 10246 | 860/000 | |
| Holgado | 10681 | 860/004 | |
| Liga de cohete | 10897 | 867/009 (868/032 no se ha probado) | Requerido el descifrado |
| Styx: maestro de las sombras | 10499 | 860/004 | |
| Batman: Arkham Knight | 863/32995 | No verificado | |
| Gigantic: Rampage Edition | 19100 | 867/010 | |
| Infinity Blade 3 | 868/000 | Consola | |
| Equipo de culpabilidad XRD | 10246 | 868/003 | Requerido el descifrado |
| Sobrevivir | 12046 | 868/003 | |
| Poder y héroes mágicos vii | 12161 | 868/004 | (Las características de firma y personalizadas no son compatibles) |
| Bomba | 11767 | 870/000 | |
| ¡Los orcos deben morir! Desactivado | 20430 | 870/000 | |
| Gal*pistola: doble paz | 10897 | 871/000 | |
| Bateador | 8623/1055 | 874/078 | |
| Un sombrero en el tiempo | 12097 | 877-893/005 | |
| Blue Estate el juego | 10246 | 893/000 | |
| Complejo de sombras remasterizado | 10897 | 893/001 | |
| Frente de soldado 2 | 6712 | 904/009 | |
| Rise de la tríada | 10508 | Desconocido | |
| Sherlock Holmes: crímenes y castigos | 10897 | Desconocido | |
| Rabia alienígena | 7255 | Desconocido |
¡Tenga cuidado, abrir un paquete sin apoyo podría bloquear su sistema! ¡Asegúrese de haber guardado todo antes de abrir cualquier archivo!
Nota Los paquetes listos para la producción de UE3 a menudo se comprimen y primero deben descomprimirse, el descompresor de paquetes irreal de Gildor es una herramienta que puede descomprimir la mayoría de los paquetes para usted; Para algunos juegos necesitas un descompresor especializado, ver, por ejemplo, RlupkTool.
¿Quieres agregar soporte para un juego? Consulte Agregar soporte para nuevas clases de Unreal
¿Conoces un juego que sea compatible pero que no figura aquí? ¡Haga clic en la parte superior derecha para editar este archivo!