你真的知道apk是否存在dex加固?
有的人在使用网站之后反馈加固了为什么提示提示任务完成但是发生了异常可能是并没有dex加固?
先说结论这种情况基本就是没有dex加固,如果你想学习或者自己真的不清楚请耐心看完以下内容。
主流加固都可以使用工具(比如mt管理器)自动识别,但是工具不能万能的是人工添加特征检测的,比如有一个加固名字叫A加固,然后他的so文件是libA.so。然后工具添加检测是否存在libA.so是否存在,如果存在就提示A加固。所以如果没有添加新特征哪怕存在dex加固也无法告诉你有没有加固。
工具提示无加固,但是为什么看不到代码? 以及手动简单分析方法
有很多人都分不清到底有没有dex加固,有的人在dex搜索不到自己想要的东西就认为加固了,有很多软件他的内容就不在dex所以你去哪里搜索不到正常。举个例子flutter的软件(这种我收到过不少反馈),有很多都在上传脱壳网站然后跑过来说我都搜索不到,肯定是加固了。对于这种我建议你去搜索一下flutter逆向。flutter的软件会在assets目录有一个flutter_assets目录和lib有这两个so。他的代码也在里面,所以碰到这种搜索不到代码不要直接说就是有dex加固
还有iapp,lua等软件都不在dex,所以你在dex搜索不到自己想要的是很正常的。
一般加固都会隐藏掉原本的全部dex变成加固的dex(个别加固只会加密一两个这样) ,这种都是会添加他的application。
这里有简单方法手动检测,第一个查看他的的application是否存在,如果都没有application那就是基本没有dex加固,第二个在AndroidManifest.xml文件搜索android.intent.category.LAUNCHER,
这个是软件主Activity,如果有dex加固一般都会加密掉,所以在现的dex搜索是否有这个类。如果存在那就是大概率没dex加固
这种这种方法并不是百分百,也可能抽取了代码或者加密了其他类,只能说这种方法合适大部分。当然不包括dex vmp
接下来就是另外一种情况dex vmp
这种并不是加固dex而是直接代码vmp
有的软件,你用工具也能检测到加固并且能看到那个so,但是脱壳网站为什么还是说没有加固,你去看他的application就会发现这个是软件自己的application并不是这个提示这个加固的,然后也可以在dex搜到他Activity这种绝大概率就是dex vmp 你可以点进去看看代码,是否存在代码如果代码都看不到或者只看到一行调用那就是调用vmp解释器运行的,并没有加固dex而是直接vmp代码了
最后一种情况
许多人仅依赖工具进行操作,然而工具有时会出现误判。例如,某些SDK与加固的SO文件同名,或者软件库(lib)自身可以取相同的名称,这些情况均可能导致工具发生误判。
总结
工具不是万能的壳也是变化多端,靠人工经验往往都是最准确的,比如出现了一个壳,工具没更新就无法告诉你。
有的人上传没加固的来测试,我表示不支持以及上传说明有
其次还有下面这种情况,如果你也是这样认为那么也不需要来问我为什么,以及我表示你说的都是对的。