Anti and Detection (Mobile Security)

Some basic tests are sorted out for future use:

Frida:

https://codeooo.blog.csdn.net/article/details/120054432

Xposed:

https://codeooo.blog.csdn.net/article/details/119738344

Simulator:
https://codeooo.blog.csdn.net/article/details/119737758

IDA:
https://codeooo.blog.csdn.net/article/details/119946227

unidbg : APP adds unidbg|unicorn detection against:

1.在真机上,使用GetStaticMethodID寻找一个不存在的方法,系统会返回一个错误。在unidbg中使用GetStaticMethodID,无论存不存在都会模拟一个jmethodID返回给so。
 
2.Unidbg的uname系统调用表明了自己是Unidbg
 
3.上文环境缺失(JAVA环境缺失/Native环境缺失)Unidbg尚未实现的常用Linux相关特性,如多线程、信号等机制 Unidbg尚未实现的JNI函数以及JNI相关问题
 
4.int setenv(const char *name, const char *value, int overwrite); 添加系统环境变量后做比较
 
5.Java 存在继承情况,子类方法id与父类一致,但是unidbg对Java一无所知,会以两个类处理,返回两个方法ID,子类重写了父类的方法,但通过父类获取 methodID,让子类Call 这个MethodID。用GetMethodID方法构造一个隐蔽的初始化函数创造陷阱。
 
6.使用unidbg未实现的jni方法。
 
7.Unidbg中jmethodID是是方法签名这个字符串本身的hashCode
 
8.加载unidbg不支持的依赖库。
 
9.QEMU以及基于它的Unicorn不存在字节对齐。
 
10.执行耗时,inlinehook检测

Guess you like

Origin blog.csdn.net/qq_41369057/article/details/131411585