public void Bla() { string file = "C:/Users/Wesley/Desktop/New folder (3)/rt.jar"; using ZipArchive archive = ZipFile.OpenRead(file); AssemblyConverter converter = new AssemblyConverter("Rt"); foreach (ZipArchiveEntry entry in archive.Entries) { using Stream stream = entry.Open(); JavaClass jc = JavaClass.Create(stream); converter.Include(jc); } byte[] bytes = converter.Convert(); Assembly assembly = Assembly.Load(bytes); StringBuilder sb = new StringBuilder(); sb.AppendLine(); foreach (Type t in assembly.GetTypes()) { sb.AppendLine($"Type: {t.FullName}"); } throw new Exception(sb.ToString()); }
public static void Main() { string dir = "C:/Users/Wesley/Desktop/New folder (4)/"; AssemblyConverter converter = new AssemblyConverter("Rt"); foreach (string file in Directory.GetFiles(dir)) { if (Path.GetExtension(file) == ".jar") { using ZipArchive archive = ZipFile.OpenRead(file); foreach (ZipArchiveEntry entry in archive.Entries) { if (Path.GetExtension(entry.Name) == ".class") { using Stream stream = entry.Open(); AddFile(converter, stream); } } } else if (Path.GetExtension(file) == ".class") { using Stream stream = File.OpenRead(file); AddFile(converter, stream); } } byte[] bytes = converter.Convert(); File.WriteAllBytes("rt.dll", bytes); foreach (Type type in Assembly.Load(bytes).GetTypes()) { Console.WriteLine($"Type: {type.FullName}"); } }
public void Loading() { AssemblyConverter converter = new AssemblyConverter("HelloWorld"); foreach (string file in Resource.GetNames("MultipleTypes")) { using Stream stream = Resource.Get(file); JavaClass jc = JavaClass.Create(stream); converter.Include(jc); } byte[] bytes = converter.Convert(); Assembly assembly = Assembly.Load(bytes); StringBuilder sb = new StringBuilder(); sb.AppendLine(); foreach (Type t in assembly.GetTypes()) { sb.AppendLine($"Type: {t.FullName}"); } throw new Exception(sb.ToString()); }