CommonsCollections3

CommonsCollections3

摘要:CC3

0x01 链子

链子很简单,前半部分由LazyMap#get方法中的transform方法触发,这块的解析看之前的CC1链子的调试笔记就可。

新点是

  • InstantiateTransformer替换InvokerTransformer执行字节码。

  • TrAXFilter这个类的链子

直奔InstantiateTransformer#transform方法,发现47-48行:

1
2
Constructor con = ((Class)input).getConstructor(this.iParamTypes);
return con.newInstance(this.iArgs);

这里的input是TrAXFilter类,直奔TrAXFilter类构造方法,注意到58行:

1
_transformer = (TransformerImpl) templates.newTransformer();

从而触发TemplatesImpl这条字节码链子。


评论