最新公告
  • 欢迎您光临,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • iapp检测Xposed等Hook框架


    最近,iapp逆向越来越猖獗,各种方法层出不穷 其实大多数都以进程注入为核心 而Xposed框架和Substrate框架又是这一领域的佼佼者 今天我们就来尝试检测它们 在这之前先声明几个术语 xposed框架:指 rovo89 开发的Java方法劫持框架,核心思想是注入zygote进程 dexposed:指阿里开发的Dalvik上的进程内Java方法劫持框架(不考虑dev_art分支),仅限本进程 epic:指田维术开发的ART上的进程内Java方法劫持框架,仅限本进程 va:指罗迪开发的虚拟环境框架VirtualApp vxp:指田维术基于va和epic开发的免root享受xposed的软件,核心思想是虚拟化 太极框架:指田维术基于epic开发的无需root体验xposed的软件,核心思想是修改apk(不考虑太极●Magisk版) //检测方法0:检测XposedInstanller是否存在 //感兴趣的可以看看源码区那个 //只要稍微修改一点点小东西就可以绕过检测了 //不再赘述 //检测方法1:检测Root,感兴趣的可以看看上一篇 //缺点:误杀范围太广,无法检测免root框架等 //方法2:检测是否存在Xposed的核心类,代码如下 cls("de.robv.android.xposed.XposedBridge",klazz) f(klazz != null) { tw("存在 Xposed 环境") } //另外,这里可以先尝试禁用一次Xposed cls("de.robv.android.xposed.XposedBridge",klazz) f(klazz != null) { tw("存在 Xposed 环境") javass(disable,null,klazz,"disableHooks",true) f(disable) { tw("禁用 Xposed 成功") } else { tw("禁用 Xposed 失败") } } //绕过检测也很容易,禁止反射xp的核心类即可 //vxp测试失败(由于ClassLoader隔离),真实xp环境应该能用 //方法3:回溯调用栈,判断是否存在xposed的 java(thread,null,"java.lang.Thread.currentThread") java(stackTrace,thread,"java.lang.Thread.getStackTrace") s hasHook = false for(st;stackTrace) { java(sts,st,"java.lang.Object.toString") f(sts ? "de.robv.android.xposed." || sts ? "me.weishu.epic." || sts ? "me.weishu.exposed.") { s hasHook = true break } } f(hasHook) { tw("存在Hook框架") } //vxp测试失败,如果被hook应该可以 //ps:如果还需要检测va,可加上com.lody.virtual. //然后就能直接检测vxp //但是也会把所有使用了va的软件(比如某多开)识别出来 //绕过方法:hook掉这个方法,把关于xp的痕迹全部去掉 //方法4:读取/proc/self/maps检测是否加载过hook框架 fr("/proc/self/maps",maps) f(maps ? "XposedBridge.jar" || maps ? "libepic.so" || maps ? "libdexposed.so" || maps ? "libsubstrate.so") { tw("存在Hook框架") } //ps:这里只是演示用,还有很多框架没有检测,感兴趣的可以加上 //依然可以绕过,hook掉IoBridge即可。。。 //----- vxp检测专区 ----- //方法5:检测System.getProperty("vxp")是否为1 //查看vxp的源码可知,vxp启动时会调用System.setProperty("vxp","1") //那么我们直接获取这个属性判断即可 java(isVxp,null,"java.lang.System.getProperty","String","vxp","String","0") f(isVxp == "1") { tw("vxp环境") } //绕过方法非常简单,去掉setProperty就行。。。 //方法6:判断应用私有目录是否在vxp的路径下 java(filesDir,activity,"android.content.Context.getFilesDir") f(filesDir ? "io.va.exposed") { tw("处于vxp环境") } //绕过方法依然非常简单。。。 //综上所述,检测hook框架的方法有很多,当然都有方法绕过 //不过现在的逆向插件基本都未做绕过措施 //聊胜于无吧。。。
    1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!
    2.如有侵权请邮件联系客服!l联系邮箱:837609420@qq.com
    3. 本站不保证所提供下载的资源的准确性、安全性和完整性
    4.资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理!
    5. 如用于商业或者非法用途,与本站无关,一切后果请用户自负!
    6. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
    7. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
    8. 如遇到加密压缩包,默认解压密码为"www。loveu8.cn",如遇到无法解压的请联系客服!
    9. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有站币奖励和额外收入!
    幻梦资源网 » iapp检测Xposed等Hook框架

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    幻梦资源网
    一个高级程序员模板开发平台