安卓的检测与反检测通过Method-解析为什XP之类框架重新构建后就不能检测出来

《安卓的检测与反检测 》通过检测扫描包名来获取需要的信息,这篇阐述一下方法的扫描改包名容易改方法费事要多点。方法的扫描要用到反射。有什么意义呢,只要源代码不调整顺序枚举方法名和顺序组,合运算出来哈希值,只要是这个值嗯就是你。
先看一下源文件https://www.androidos.net.cn/android/8.0.0_r4/xref/libcore/ojluni/src/main/java/java/lang/Class.java

public Method[] getMethods() throws SecurityException {
List methods = new ArrayList();
getPublicMethodsInternal(methods);
/*
* Remove duplicate methods defined by superclasses and
* interfaces, preferring to keep methods declared by derived
* types.
*/
CollectionUtils.removeDuplicates(methods, Method.ORDER_BY_SIGNATURE);
return methods.toArray(new Method[methods.size()]);
}
获取的是数组形式列举出来方法代码如下:

try{
	Class clas = Class.froName("xx.xxxxx.xxx");
	Method[] methods = clas.getMethods();
	for(Method method :methods ){
	    System.out.println("methodlist :" method.toString());
	}

}catch(ClassNotFoundException e){

}
到这里核心已经完成,枚举了所有方法。结合《安卓的检测与反检测 》提到的包名检测。通过分析也自然就知道我只要改类名改方法名就可以避开这个检测。这个反过来想我也可以调用别人的写好的方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值