Esempio n. 1
0
        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());
        }
Esempio n. 2
0
        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}");
            }
        }
Esempio n. 3
0
        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());
        }