nshc加固浅析

一、dex保护:

1.1反回编译:

nshc加固浅析_第1张图片

按照上面的提示找到对应的位置,把那个函数删掉。

nshc加固浅析_第2张图片

由于这个函数别的地方也没有调用,应该不影响结果。

总结:可以把这个函数改造。构造一个能够去调用它参与逻辑的,增强反回编的难度。

1.2.对于dex中重要信息字符串的解密:

反编译的时候

看到大量的这种加密字符串

nshc加固浅析_第3张图片

解决办法:

由于这个解密函数是java层面的,且不是很复杂。因此通过PY读取所有的Smali文件。通过“Lcom/xshield/aa;->E”匹配,对上面的加密字符串解密,解密完以后替换,并且删除静态调用指令。

1.3dex文件的加固:

反编译发现APK中的主类不存在。

动态运行起来以后在对应的/data/data/包名/下有一个.imsi.jar,里面会发现主类和对应安全SDK的加载

nshc加固浅析_第4张图片

总结:这种来看是通过动态加载classload这个jar包,之前看过一家韩国公司的加固也是这样的。

二、so文件层

使用Frida hook open函数发现:

nshc加固浅析_第5张图片

以及对于root的检测:

nshc加固浅析_第6张图片

nshc加固浅析_第7张图片

2.1反调试:

首先在JNI_OnLOAD处下断点,发现运行到这个时候,闪退,有反调试。

在.init处下断点,首先进去对于字符串的解密,解密完以后,对 /proc/self/net/unix进行读取,

 这时候可以把对应的so Dump下来。进行静态分析。核心的函数是没有做混淆处理的。

nshc加固浅析_第8张图片

反调试会读取/proc/self/stat,对里面的特征进行分析检测,最后触发会调用exit函数进行退出。

nshc加固浅析_第9张图片

 

你可能感兴趣的:(android逆向安全,Android,代码保护与逆向)