นี่เป็นคำแนะนำเล็กๆ น้อยๆ สำหรับการแตกและแก้ไขเนื้อหาหรือโค้ดจากเกมที่สร้างด้วย Unity Engine รู้สึกอิสระที่จะมีส่วนร่วม
│ *.exe
└──*_Data
│ globalgamemanagers
│ globalgamemanagers.assets
│ level0
│ level0.resS
...
| levelN
| levelN.resS
| resources.assets
| resources.assets.resS
| resources.resource
│ sharedassets0.assets
│ sharedassets0.assets.resS
...
| sharedassetsN.assets
| sharedassetsN.assets.resS
├──Managed
│ Assembly-CSharp.dll
│ Assembly-UnityScript.dll
│ Mono.Security.dll
│ mscorlib.dll
│ System.Core.dll
│ System.dll
│ UnityEngine.dll
│ UnityEngine.dll.mdb
│ UnityEngine.Networking.dll
│ UnityEngine.UI.dll
├──Mono
│ │ mono.dll
│ └──etc
│ └──mono
│ │ browscap.ini
│ │ config
│ ├──1.0
│ │ DefaultWsdlHelpGenerator.aspx
│ │ machine.config
│ ├──2.0
│ │ │ DefaultWsdlHelpGenerator.aspx
│ │ │ machine.config
│ │ │ settings.map
│ │ │ web.config
│ │ └──Browsers
│ │ Compat.browser
│ └──mconfig
│ config.xml
└──Resources
unity default resources
unity_builtin_extra
ไฟล์/ไดเร็กทอรี | คำอธิบาย |
---|---|
*.exe | ไฟล์ปฏิบัติการของเกม |
*_Data | โฟลเดอร์ข้อมูลที่มีทรัพยากรเกม |
ระดับ 0 ระดับ N | ไฟล์ที่มีข้อมูลฉากเกม แต่ละฉากจะมีไฟล์ของตัวเอง |
sharedassets0-sharedassetsN | เนื้อหาของเกมแบ่งออกเป็นไฟล์ sharedassets และ .resS (sharedassets.assets.split0 - ..splitN บนแพลตฟอร์ม เช่น Android/iOS) |
ทรัพยากร.สินทรัพย์ | สินทรัพย์ดิบที่พบในโฟลเดอร์ทรัพยากรโปรเจ็กต์และการพึ่งพาจะถูกจัดเก็บไว้ในไฟล์นี้ (เช่นเดียวกับไฟล์เสียงดิบ แม้ว่าจะอยู่นอกโฟลเดอร์ทรัพยากรใน Unity, AudioClips ที่มีการอ้างอิงถึง .resource และข้อมูล เช่น ขนาดเสียง/ออฟเซ็ต ยังคงเก็บไว้ภายใน .สินทรัพย์) |
Managed | โฟลเดอร์ที่มี Unity DLLs |
แอสเซมบลี-CSharp.dll | DLL ที่มีไฟล์ C# ที่คอมไพล์แล้ว |
แอสเซมบลี-UnityScript.dll | ไฟล์ DLL ที่มีไฟล์ UnityScript ที่คอมไพล์แล้ว |
ด้วย *
: ชื่อของไฟล์ปฏิบัติการหลัก (.exe)
ไฟล์ C# และ UnityScript จะถูกคอมไพล์เป็น Assembly-CSharp.dll และ Assembly-UnityScript.dll DLLs ตามลำดับ ซึ่งสามารถพบได้ในโฟลเดอร์ Managed
DLL สามารถถอดรหัสได้โดยใช้ ILSpy, dnSpy, DotPeek หรือ JustAssembly ซึ่งอนุญาตให้แก้ไขและคอมไพล์ไฟล์แอสเซมบลีใหม่ได้
หาก DLL หายไปจากไดเร็กทอรีที่มีการจัดการ ให้ลองทิ้งโดยใช้เครื่องมือ MegaDumper
เครื่องมือ | คำอธิบาย |
---|---|
อิลสปาย | .NET Decompiler ข้ามแพลตฟอร์มพร้อมรองรับการสร้าง PDB, ReadyToRun, Metadata (และอื่นๆ) |
ดอทพีค | JetBrains DotPeek เป็น .NET Decompiler และ Assembly Browser ฟรี |
dnSpyEx | การฟื้นฟูอย่างไม่เป็นทางการของดีบักเกอร์ .NET และตัวแก้ไขแอสเซมบลีที่รู้จักกันดี dnSpy ทางแยกของ dnSpy . |
Telerik JustAssembly | ถอดรหัสและเปรียบเทียบ .NET Assemblies ความแตกต่างรหัสไบนารี่ วิธีที่แตกต่าง |
Cpp2IL | เครื่องมือที่กำลังดำเนินการเพื่อย้อนกลับ toolchain IL2CPP ของ unity |
Il2CppDumper | วิศวกรย้อนกลับ Unity il2cpp |
ดีเอ็นสปาย | dnSpy เป็นตัวดีบักเกอร์และตัวแก้ไขแอสเซมบลี. NET คุณสามารถใช้มันเพื่อแก้ไขและดีบักแอสเซมบลีแม้ว่าคุณจะไม่มีซอร์สโค้ดก็ตาม ใช้งานได้ แต่คุณสามารถใช้ dnSpyEx แทนได้ |
เมก้าดัมเปอร์ | ดัมพ์เนทีฟและแอสเซมบลี .NET |
เนื้อหาจะถูกจัดเก็บไว้ในไฟล์ .assets และ .resS เนื้อหาของไฟล์เหล่านี้สามารถแตกแพ็กได้ด้วยหนึ่งในเครื่องมือเหล่านี้:
เครื่องมือ | คำอธิบาย |
---|---|
AssetRipper | AssetRipper เป็นเครื่องมือสำหรับแยกเนื้อหาออกจากไฟล์ซีเรียลไลซ์ (CAB-*, *.assets, .sharedAssets ฯลฯ) และกลุ่มสินทรัพย์ ( .unity3d, *.bundle ฯลฯ) และแปลงเป็นรูปแบบ Unity Engine ดั้งเดิม ทางแยกของ uTinyRipper |
ตัวแยกชุดสินทรัพย์ Unity | UABE เป็นตัวแก้ไขสำหรับไฟล์ .assets และ AssetBundle 3.4+/4/5/2017-2021.3 มันสามารถสร้างตัวติดตั้ง mod แบบสแตนด์อโลนจากการเปลี่ยนแปลงเป็น .assets และ/หรือบันเดิล |
QuickBMS พร้อมสคริปต์นี้หรืออันนี้สำหรับผู้เล่นเว็บ | ตัวแยกไฟล์และตัวนำเข้าไฟล์ที่ใช้สคริปต์สากล QuickBMS รองรับเกมและรูปแบบไฟล์มากมาย การเก็บถาวร การเข้ารหัส การบีบอัด การสร้างความสับสน และอัลกอริธึมอื่น ๆ |
DevXUnityUnpacker | เครื่องมือ (แบบชำระเงิน) พร้อม GUI ที่เป็นมิตรซึ่งมีไว้สำหรับการกู้คืนโปรเจ็กต์ที่เป็นเอกภาพโดยการป้อนเกม/แอปที่สร้างขึ้น รวมถึงตัวแสดงตัวอย่างสำหรับแต่ละไฟล์ เช่น รูปภาพ เลขฐานสิบหก ข้อความ ฯลฯ |
uTinyRipper | uTinyRipper เป็นเครื่องมือสำหรับแยกเนื้อหาออกจากไฟล์ซีเรียลไลซ์ (CAB-*, *.assets, *.sharedAssets ฯลฯ) และชุดเนื้อหา (*.unity3d, *.assetbundle ฯลฯ) และแปลงเป็นรูปแบบ Native Engine ใช้ AssetRipper แทน |
Unity Studio / AssetStudio | AssetStudio เป็นเครื่องมืออิสระสำหรับการสำรวจ แยก และส่งออกสินทรัพย์ |
Explorer สินทรัพย์ Unity | Unity Assets Explorer ใช้เพื่อดูเนื้อหาของไฟล์ Assets (เอ็นจิ้น Unity 3D) ช่วยให้คุณ: แยกไฟล์ทั้งหมด, แยกไฟล์หนึ่งไฟล์ (จากเมนูบริบท), แปลงไฟล์ tex เป็นรูปแบบรูปภาพ DDS (ในการแตกไฟล์), นำเข้ารูปภาพ DDS ที่เปลี่ยนแปลงไปยังไฟล์เก็บถาวร |
อย่าใช้ UnityEX มีแนวโน้มว่าจะเป็นไวรัส
ไฟล์ DDS สามารถเปิด/แปลง/แก้ไขได้ด้วยเครื่องมือต่อไปนี้:
เครื่องมือ | บทช่วยสอน |
---|---|
นินจาริปเปอร์ | แยก (ริป) ฉาก 3 มิติออกจากเกมและสำรวจในโปรแกรมแก้ไข 3 มิติ (Blender, 3D Max, Noesis) คำแนะนำเก่าเกี่ยวกับวิธีใช้ Ninja Ripper ช่อง YouTube อย่างเป็นทางการจะมีประโยชน์สำหรับวิดีโอการสอนล่าสุด |
RenderDoc | บทช่วยสอนเกี่ยวกับวิธีใช้ RenderDoc |
ผู้ส่งออกเครื่องมือพื้นผิว NVIDIA | NVIDIA Texture Tools Exporter ช่วยให้ผู้ใช้สามารถสร้างไฟล์พื้นผิวที่มีการบีบอัดสูง ซึ่งมีขนาดเล็กทั้งบนดิสก์และในหน่วยความจำ ได้โดยตรงจากแหล่งรูปภาพโดยใช้เทคโนโลยีคอมเพรสเซอร์ Texture Tools 3.0 ที่เร่งด้วย CUDA ของ NVIDIA สามารถใช้เป็นซอฟต์แวร์แบบสแตนด์อโลนหรือเป็นปลั๊กอิน Adobe Photoshop |
เครื่องวิเคราะห์ประสิทธิภาพกราฟิก Intel® | ปรับปรุงประสิทธิภาพของเกมโดยการระบุส่วนที่เป็นปัญหาอย่างรวดเร็ว บทช่วยสอนเกี่ยวกับวิธีใช้ Intel Graphics Analyzers เพื่อแยกกราฟิก |
ปลั๊กอิน Gimp | นี่คือปลั๊กอินสำหรับ GIMP เวอร์ชัน 2.8.x ช่วยให้คุณสามารถโหลดและบันทึกภาพในรูปแบบ Direct Draw Surface (DDS) |
3D ริปเปอร์ DX | ซอฟต์นี้ไม่รองรับไบนารี 64 บิต |
Cheat engine มีคุณสมบัติที่เรียกว่า Dissect mono ซึ่งสามารถช่วยแฮ็คหน่วยความจำของเกมได้ ซีรีส์วิดีโอเกี่ยวกับการใช้ cheat engine นี้มีประโยชน์มาก