Пример #1
0
        public static int Unpack(byte[] data, string Destination)
        {
            if (Directory.Exists(Destination))
            return 1;
              else
              {
            ImgReader iReader;
            try { iReader = new ImgReader(data); }
            catch { return -1; }

            Directory.CreateDirectory(Destination);
            ImgUnpacker.UnpackSections(iReader, Destination);
              }
              return 0;
        }
Пример #2
0
        public static void UnpackSections(ImgReader Reader, string Destination)
        {
            Console.WriteLine("UNPACKING SECTIONS:");
              Console.WriteLine();

              Console.Write("Saving old image header...");
              File.WriteAllBytes(Path.Combine(Destination, "image.hdr"), Reader.cHdr.ToBytes());
              ConsoleEx.WriteLine(ConsoleColor.Green, " OK.");

              Console.Write("Unpacking Kernel...");
              WriteSection(Reader.GetKernelBytes(), Path.Combine(Destination, "zImage"));
              Console.Write("Unpacking Ramdisk...");
              WriteSection(Reader.GetRamdiskBytes(), Path.Combine(Destination, "ram_disk.gz"));
              Console.Write("Unpacking Second Stage...");
              WriteSection(Reader.GetSecStateBytes(), Path.Combine(Destination, "second.bin"));
              ConsoleEx.Write(ConsoleColor.Green, "Done!");
        }
Пример #3
0
        protected override void DoRead(TSynchronicity aSynchronicity)
        {
            ImgReader reader = new ImgReader(this, Provider.Tracer);

            reader.Read(aSynchronicity);
        }