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(); }
public void cleanup() throws Exception { runner.cleanup(); }