@@ -0,0 +1,2348 @@
+import java.io.File;%0Aimport java.io.FileInputStream;%0Aimport java.io.FileOutputStream;%0Aimport java.io.InputStream;%0Aimport java.security.GeneralSecurityException;%0Aimport java.util.zip.ZipEntry;%0Aimport java.util.zip.ZipInputStream;%0Aimport javax.crypto.Cipher;%0Aimport javax.crypto.CipherInputStream;%0Aimport javax.crypto.spec.IvParameterSpec;%0Aimport javax.crypto.spec.SecretKeySpec;%0A%0Apublic class Extract%0A%7B%0A    private static InputStream decrypt(final InputStream inputStream) throws GeneralSecurityException %7B%0A        final Cipher instance = Cipher.getInstance(%22AES/CBC/NoPadding%22);%0A        instance.init(2, new SecretKeySpec(%22bcyangkmluohmars%22.getBytes(), %22AES%22), new IvParameterSpec(%22ubntenterpriseap%22.getBytes()));%0A        return new CipherInputStream(inputStream, instance);%0A    %7D%0A%0A    private static int extract_file(final InputStream inputStream, final File file) %7B%0A        try %7B%0A            final FileOutputStream fileOutputStream = new FileOutputStream(file);%0A            final byte%5B%5D array = new byte%5B4096%5D;%0A            int n = 0;%0A            int read;%0A            while ((read = inputStream.read(array)) != -1) %7B%0A                fileOutputStream.write(array, 0, read);%0A                n += read;%0A            %7D%0A            try %7B%0A                fileOutputStream.close();%0A            %7D%0A            catch (Exception ex2) %7B%7D%0A            return n;%0A        %7D%0A        catch (Exception ex) %7B%0A            System.out.println(ex);%0A            return 0;%0A        %7D%0A    %7D%0A%0A    private static boolean extract(final File dest, final InputStream inputStream) %7B%0A        try %7B%0A            final ZipInputStream zipInputStream = new ZipInputStream(decrypt(inputStream));%0A            ZipEntry nextEntry;%0A            while ((nextEntry = zipInputStream.getNextEntry()) != null) %7B%0A                System.out.println(%22unzipDir: %22 + nextEntry.getName());%0A                if (nextEntry.isDirectory()) %7B%0A                    new File(dest, nextEntry.getName()).mkdirs();%0A                %7D%0A                else %7B%0A                    extract_file(zipInputStream, new File(dest, nextEntry.getName()));%0A                %7D%0A                zipInputStream.closeEntry();%0A            %7D%0A            return true;%0A        %7D%0A        catch (Exception ex) %7B%0A            System.out.println(%22unzipDir error%22);%0A            System.out.println(ex);%0A            return false;%0A        %7D%0A    %7D%0A%7D%0A

Create Extract.java