-
Notifications
You must be signed in to change notification settings - Fork 20
/
Program.cs
39 lines (37 loc) · 1.86 KB
/
Program.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
using System;
using System.IO;
using System.Collections.Generic;
namespace ROMEncryption
{
class Program
{
static void DumpFromUnity3d()
{
var files = Directory.EnumerateFiles(@"script2");
foreach (var file in files)
{
UtinyRipper.GameStructure gs = new UtinyRipper.GameStructure();
gs.Load(new List<String> { file });
gs.Export(file.Replace(".unity3d", ""), (a) => { return true; });
Directory.CreateDirectory(@"rawlua\" + Path.GetFileNameWithoutExtension(file));
var innerfiles = Directory.EnumerateFiles(file.Replace(".unity3d", "") + @"\Assets\TextAsset\", "*.bytes");
foreach (var innerFile in innerfiles)
File.Copy(innerFile, @"rawlua\" + Path.GetFileNameWithoutExtension(file) + @"\" + Path.GetFileName(innerFile), true);
Directory.Delete(file.Replace(".unity3d", ""), true);
}
}
static void Main(string[] args)
{
//DumpFromUnity3d(); // takes about 40 seconds.
new System.Net.WebClient().DownloadFile("https://managedway.dl.sourceforge.net/project/unluac/Unstable/unluac_2015_06_13.jar", "unluac_2015_06_13.jar");
// converting all files takes about 10 minutes.
var files = Directory.EnumerateFiles(@"rawlua", "*.bytes", SearchOption.AllDirectories);
foreach (var file in files)
ROMUnlua.Unlua(file);
ROMUnityXor.DecryptFile(@"com.gravity.romg_1.0.3-308\assets\bin\Data\Managed\Assembly-CSharp-firstpass.dll");
ROMUnityXor.DecryptFile(@"com.gravity.romg_1.0.3-308\assets\bin\Data\Managed\Assembly-CSharp.dll");
//ROMDesCipher.DecryptFile("CSharpObjectForLogin.bytes");
//ROMDesCipher.EncryptFile("CSharpObjectForLogin.lua");
}
}
}