The Unreal Library (Uelib) memberi Anda API untuk dibaca (parse/deserialize) isi file paket permainan mesin Unreal seperti .udk, .upk. Tujuan utamanya adalah untuk mendekompilasi kode byte unrealscript ke kode sumber aslinya.
Itu mencapai ini dengan membaca kelas data yang tidak nyata yang diperlukan seperti:
UObject, UField, UConst, UEnum, UProperty, UStruct, UFunction, UState, UClass,
UTextBuffer, UMetaData, UPackage
Kelas-kelas seperti Ustruct, Ustate, Uclass, dan Ufunction berisi kode byte Unrealscript yang dapat kita hapus untuk mengkonstruksi kembali kode byte ke sumber unrealscript aslinya.
Selain itu, Uelib juga mampu melakukan deserialisasi dari lebih banyak kelas data seperti:
UFont, USound, UPalette, UTexture,
UTexture2D, UTexture2DDynamic, UTexture2DComposite, UTexture3D,
UTextureCube, UTextureFlipBook, UTextureMovie
UPrimitive, UPolys
Install-Package Eliot.UELib| Modul | Versi | Lisensi |
|---|---|---|
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 ( ) } " ) ;
} Jika Anda ingin memodifikasi perpustakaan untuk tujuan satu -satunya modding ue explorer, saya sarankan Anda untuk mengkloning atau membayar repositori ini dan menginstal UE Explorer di dalam UELib/src/bin/Debug/ folder, atau mengubah konfigurasi proyek untuk membangun di dalam folder UE Explorer.
Ini adalah tabel game yang dikonfirmasi untuk kompatibel dengan keadaan uelib saat ini, tabel diurutkan berdasarkan versi paket.
| Nama | Mesin: Cabang | Paket/Lisensi | Status dukungan |
|---|---|---|---|
| Tidak nyata | 100-226 | 61/000 | |
| Star Trek: Generasi Berikutnya: Penjaga Kehormatan Klingon | 219 | 61/000 | |
| X-COM: Aliansi | 200-220 | 61/000 | Output buruk di awal fungsi (BeginFunctionToken) |
| Brain: Reaksi Aksi | 224 | 63-68/000 | |
| Nerf Arena Blast | 225 | 63-68/000 | |
| Roda Waktu | 225: Wot | 63-68/000 | |
| Paket Misi Unreal: Kembali ke Na Pali | 226b | 68/000 | |
| Turnamen yang tidak nyata | 338-436 | 68-69/000 | |
| Deus ex | 400-436 | 68/000 | |
| Jazz Jackrabbit 3D | 400 | 68/000 | |
| Duke Nukem Forever (2001) | 613 | 68/002 | Offset Ustruct tidak mengarah ke kode output yang buruk |
| Sajak | 400 | 69/000 | |
| Tidak realty | 405 | 69/000 | |
| X-COM: Enforcer | 420 | 69/000 | |
| Ops Taktis: Assault on Terror | 436 | 69/000 | |
| Star Trek: Deep Space Nine: The Fallen | 338 | 73/000 | |
| Harry Potter dan Batu Penyihir | 436 | 76/000 | |
| Harry Potter dan Kamar Rahasia | 433 | 79/000 | |
| Saudara Disney beruang | 433 | 80/000 | Link |
| Kekuatan seluler | 436 | 81-83/000, 69 | |
| Clive Barker benar -benar | 420 | 72-85/000 | Versi 72 hingga 83 tidak terdeteksi secara otomatis. |
| Pencuri: Bayangan yang mematikan | 777: Daging | 95/133 | LinkedData tidak didukung |
| Deus Ex: Perang Tak Terlihat | 777: Daging | 95/069 | LinkedData tidak didukung |
| Xiii | 829 | 100/058 | |
| Pos 2: Paradise Lost | 1417 | 118/002 | |
| Sel Serpihan Tom Clancy | 829 | 100/017 | |
| Sel Serpihan Tom Clancy: Agen Ganda | 829 | 100/167: SCX | (PC) versi mode offline |
| Tom Clancy's Rainbow Six 3: Raven Shield | 600-927 | 118/012-014 | |
| Turnamen Unreal 2003 | 1077-2225 | 119/025 | |
| Penghancuran | 600-? | 118-120/004-008 | |
| Unreal II: Kebangkitan | 829-2001 | 126/2609 | |
| Unreal II: Multiplayer yang Diperluas | 2226 | 126/000 | Fitur khusus tidak terurai |
| Land of the Dead: Road to Fiddler's Green | 2226 | 126/001 | |
| Turnamen Unreal 2004 | 3120-3369 | 128/029 | |
| Tentara Amerika 2 | 3339 | 128/032: 033 | 2.5, 2.6, 2.8 |
| Tentara Amerika (Arcade) | 3339 | 128/032 | 2.6 |
| Orkestra Merah: Ostfront 41-45 | 3323-3369 | 128/029 | |
| Lantai membunuh | 3369 | 128/029 | |
| Wilayah Pertempuran: Baterai | 3369 | 128/029? | |
| Vanguard: Saga of Heroes | Tidak dikenal | 129/035 | |
| Harry Potter dan tawanan Azkaban | 2226 | 129/000 | Link |
| Shrek 2 | 2226 | 129 | |
| Dongeng hiu | 2226 | 129/003 | |
| Lemony Snicket adalah serangkaian acara yang tidak menguntungkan | 2226 | 129/003 | |
| SWAT 4 | 2226: Pembalasan | 129/027 | |
| Stargate SG1: Aliansi | 4180 | 130/004 | |
| Suku: Pembalasan | 2226: Pembalasan | 130/027 | |
| Bioshock | 2226: Pembalasan | 130-141/056 | |
| Pria keberanian | 926 | 137/000 | PC |
| Bioshock 2 | 2226: Pembalasan | 143/059 | |
| Kejuaraan Unreal 2: Konflik Liandri | 3323 | 151/002 | Pihak ketiga |
| The Chronicles of Spellborn | 3323 | 159/029 | |
| Duke Nukem Forever (2011) | Tidak dikenal | 156/036 | Diperlukan ekstraksi |
| Endwar Tom Clancy | Tidak dikenal | 329/000 | |
| RoboBlitz | 2306 | 369/006 | |
| Cekikan | 2605 | 375/025 | |
| Efek Massa (Xbox 360) | 2674 | 391/092 | Xenon |
| Medal of Honor: Airborne | 2859 | 421/011 | |
| Garis depan: bahan bakar perang | 2917 | 433/052 | |
| Tentara dua | 3004 | 445/079 | Kualitas keseluruhan belum diverifikasi |
| Edisi Kombat Kombat Kombat | 2605 | 472/046 | |
| Stargate Worlds | 3004 | 486/007 | |
| Persneling perang | 3329 | 490/009 | |
| Mass Effect (Windows) | 3240 | 491/1008 (~ 112) | PC |
| Konspirasi The Bourne karya Robert Ludlum | 511/039 | ||
| Transformers: War for Cybertron | 511/144.145 | PC, PS3, Xenon | |
| Turnamen Unreal 3 | 3809 | 512/000 | |
| Tepi cermin | 3716 | 536/043 | |
| Protokol Alpha | 3857 | 539/091 | |
| APB: semua poin buletin | 3908 | 547/028-032 | |
| X-Men Origins: Wolverine | 4206 | 568/101 | Kualitas keseluruhan belum diverifikasi |
| Gears of War 2 | 4638 | 575/000 | |
| Crimecraft | 4701 | 576/005 | |
| Batman: Arkham Asylum | 4701 | 576/21 | |
| Medal of Honor (2010) | 100075 ??? | 581/058 | Kode byte yang buruk |
| Keganjilan | 4869 | 584/126 | |
| Alpha moonbase | 4947 | 587/000 | |
| Gergaji | Tidak dikenal | 584/003 | |
| Ranah pengasingan arborea atau tera | 4206 | 610/014 | |
| Senin malam pertempuran | 5697 | 638/000 | |
| DC Universe Online | 5859 | 638/6405 | |
| Kit pembangunan yang tidak nyata | 5860-12791 | 664-868 | |
| Blacklight: Tango Down | 6165 | 673/002 | |
| Dungeons & Dragons: Daggerdale | 6165 | 674/000 | |
| Pembela penjara bawah tanah | 6262 | 678/002 | |
| Mass Effect 3 (Windows) | 6383 | 684/194 | PC (platform harus diatur ke Console ) |
| Mass Effect: Legendary Edition (Windows) | 6383 | 684/171 | PC (platform harus diatur ke Console ) |
| Alice Madness kembali | 6760 | 690/000 | |
| Bola | 6699 | 706/000 | |
| Bioshock Infinite | 6829 | 727/075 | |
| Bulletstorm | 7052 | 742/029 | |
| Orkestra Merah 2: Pahlawan Stalingrad | 7258 | 765/tidak diketahui | |
| Rising Storm 2: Vietnam | 7258 | 765/771 | |
| Alien: Marinir kolonial | 4170 | 787/047 | |
| Infinity Blade 1 | 7595 | 788/001 | Menghibur |
| Disponored | 9099 | 801/030 | |
| Suku: Ascend | 7748 | 805/tidak diketahui | |
| Tony Hawk's Pro Skater HD | |||
| Batu zaman | 7748 | 805/000 | |
| Batman: Arkham City | 7748 | 805/101 | |
| Batman: Arkham Origins | 7748 | 807/138 | Tidak diverifikasi |
| Tempat suci | 7876 | 810/000 | |
| Antikamber | 7977 | 812/000 | |
| Ombak | 8171 | 813/000 | |
| Super Monday Night Combat | 8364 | 820/000 | |
| Gears of War 3 | 8653 | 828/000 | |
| Teka -teki kuantum | 8623 | 832/32870 | |
| Borderlands | 4871 | Tidak dikenal | |
| Borderlands 2 | 8623/0023 | 832/056 | |
| Borderlands: Game of the Year ditingkatkan | 5001/0001 | 832/058 | |
| Ingat saya | 8623 | 832/021 | |
| The Haunted: Hells Reach | 8788 | 841/000 | |
| Murka Asura | 8788 | 841/000 | -zlib; Platform perlu diatur ke konsol. |
| Retribusi Blacklight | 8788-10499 | 841-864/002 | |
| Infinity Blade 2 | 9059 | 842-864/001 | Menghibur |
| Qube | 8916 | 845/000 | |
| DMC: Devil May Cry | 8916 | 845/004 | |
| XCOM: musuh tidak diketahui | 8916 | 845/059 | |
| Gears of War: Penghakiman | 10566 | 846/000 | |
| Transformers: Fall of Cybertron | 846 (~ 587)/181 | ||
| Deadpool | 846 (~ 587)/181 | ||
| Inmomentum | 8980 | 848/000 | |
| Tidak mekanis | 9249 | 852/000 | |
| Lampu mati | 9375 | 854/000 | |
| Tanah Orang Mati | 9375 | 854/000 | |
| Hancur | 9641 | 859/000 | |
| Lima inti | 9656 | 859/000 | |
| Painkiller HD | 9953 | 860/000 | |
| Ksatria: Perang Abad Pertengahan | 10246 | 860/000 | |
| Hawken | 10681 | 860/004 | |
| Liga Roket | 10897 | 867/009 (868/032 belum diuji) | Dekripsi diperlukan |
| Styx: Master of Shadows | 10499 | 860/004 | |
| Batman: Arkham Knight | 863/32995 | Tidak diverifikasi | |
| Raksasa: Edisi Rampage | 19100 | 867/010 | |
| Infinity Blade 3 | 868/000 | Menghibur | |
| GUILTY GEAR XRD | 10246 | 868/003 | Dekripsi diperlukan |
| Hidup lebih lama dr | 12046 | 868/003 | |
| Might & Magic Heroes VII | 12161 | 868/004 | (Fitur tanda tangan dan kustom tidak didukung) |
| Bom | 11767 | 870/000 | |
| Orc harus mati! Tidak terkena | 20430 | 870/000 | |
| Gal*Gun: Double Peace | 10897 | 871/000 | |
| Battleborn | 8623/1055 | 874/078 | |
| Topi tepat waktu | 12097 | 877-893/005 | |
| Blue Estate Game | 10246 | 893/000 | |
| Kompleks bayangan remaster | 10897 | 893/001 | |
| Soldier Front 2 | 6712 | 904/009 | |
| Bangkitnya Triad | 10508 | Tidak dikenal | |
| Sherlock Holmes: Kejahatan dan Hukuman | 10897 | Tidak dikenal | |
| Amarah alien | 7255 | Tidak dikenal |
Waspadalah, membuka paket yang tidak didukung bisa merusak sistem Anda! Pastikan Anda telah menyimpan semuanya sebelum membuka file apa pun!
Catatan UE3 Paket siap-produksi sering dikompresi dan pertama-tama harus didekompresi, dekompresor paket yang tidak nyata oleh Gildor adalah alat yang dapat mendekompresi sebagian besar paket untuk Anda; Untuk beberapa game Anda memerlukan dekompresor khusus, lihat misalnya rlupktool.
Ingin menambahkan dukungan untuk permainan? Lihat Menambahkan Dukungan untuk Kelas Unreal Baru
Apakah Anda tahu permainan yang kompatibel tetapi tidak tercantum di sini? Klik di kanan atas untuk mengedit file ini!