동적으로 로드되는 DEX 후킹하는 방법
var dexclassLoader = Java.use("dalvik.system.DexClassLoader"); dexclassLoader.loadClass.overload('java.lang.String').implementation = function () { var ret_class = this.loadClass.apply(this, arguments); if(ret_class == "class com.linforum.kr1") { console.log("-- hook start --"); var ClassUse = Java.use("java.lang.Class"); var hookClassCast = Java.cast(ret_class, ClassUse); var active_classloader = hookClassCast.getClassLoader(); Java.classFactory.loader = active_classloader; var asd = Java.classFactory.use("com.linforum.kr1");
asd.click.implementation = function(){ console.log("zzzzzzzzz"); return false; }; } return ret_class; }; |