Ejemplo n.º 1
0
 public static void main(String[] args) throws Exception {
   System.out.println("Testing builders...");
   String[] stagers = StagerTest.getStagers();
   BuilderTestRunner[] runners =
       new BuilderTestRunner[] {
         new ClassBuilderTestRunner(),
         new EmbeddedClassBuilderTestRunner(),
         new JarBuilderTestRunner(),
         new StripJarBuilderTestRunner(),
         new JarCrypterTestRunner(
             new StripJarBuilderTestRunner(),
             "stripped.jar",
             new MainClass(),
             new String[] {"StaLo"}),
         new EmbeddedJarBuilderTestRunner(),
         new StripEmbeddedJarBuilderTestRunner(),
         new LocalStageJarBuilderTestRunner(),
         new JarCrypterTestRunner(
             new LocalStageJarBuilderTestRunner(),
             "LocalStage.jar",
             new MainClass(),
             new String[] {"StaLo"}),
         /* #JDK1.5 */ new BuilderTest15.AgentJarBuilderTestRunner(), /**/
         /* #JDK1.5 */ new JarCrypterTestRunner(
             new BuilderTest15.AgentJarBuilderTestRunner(),
             "Agent_*.jar",
             new javapayload.crypter.Agent(),
             new String[0]), /**/
         new AppletJarBuilderTestRunner(),
         new NewNameAppletJarBuilderTestRunner(),
         new EmbeddedAppletJarBuilderTestRunner(),
         new JarCrypterTestRunner(
             new EmbeddedAppletJarBuilderTestRunner(),
             "EmbeddedAppletJar.jar",
             new SignedApplet(),
             new String[] {"javapayload.loader.AppletLoader", "AppLo"}),
         new EmbeddedNewNameAppletJarBuilderTestRunner(),
         // /* #JDK1.4 */new BuilderTest14.CVE_2008_5353TestRunner(), /**/
         // /* #JDK1.4 */new JarCrypterTestRunner(new BuilderTest14.CVE_2008_5353TestRunner(),
         // "cve.jar", new javapayload.crypter.SignedApplet(), new String[]
         // {"javapayload.exploit.CVE_2008_5353", "Expy"}), /**/
         // /* #JDK1.4 */new BuilderTest14.EmbeddedCVE_2008_5353TestRunner(), /**/
         // /* #JDK1.5 */new BuilderTest15.CVE_2010_0094TestRunner(), /**/
         // /* #JDK1.5 */new BuilderTest15.CVE_2010_4465TestRunner(), /**/
         // new CVE_2010_0840TestRunner(),
         /* #JDK1.6 */ new BuilderTest16.AttachInjectorTestRunner(), /**/
         /* #JDK1.3 */ new BuilderTest13.JDWPInjectorTestRunner(), /**/
         new RMIInjectorTestRunner(),
         // new JarCrypterTestRunner(new RMIInjectorTestRunner(), "rmitest.jar", new
         // javapayload.crypter.RMI(), new String[] {"javapayload.loader.rmi.LoaderImpl",
         // "RMILDR"}),
       };
   for (int i = 0; i < runners.length; i++) {
     BuilderTestRunner runner = runners[i];
     System.out.println("\t" + runner.getName());
     for (int j = 0; j < stagers.length; j++) {
       String name = stagers[j];
       System.out.println("\t\t" + name);
       String[] testArgs = StagerTest.getTestArgs(name);
       if (testArgs == null) continue;
       for (int k = 0; k < testArgs.length; k++) {
         System.out.println("\t\t\t" + testArgs[k]);
         testBuilder(runner, name, testArgs[k]);
       }
     }
     runner.cleanup();
   }
   System.out.println("Builder tests finished.");
   new ThreadWatchdogThread(5000).start();
 }
Ejemplo n.º 2
0
 public void cleanup() throws Exception {
   runner.cleanup();
 }