重写一个Xposed帮助类过某些检测以及保护自己的xposed插

2019-03-15  本文已影响0人  吉凶以情迁

研究背景

1.需要把自己插件的xposed hook点代码进一步隐藏,免得用户攻击我的app分析我写的啥。
2.对抗某些app等通过de.robv.android.xposed.XposedBridge中的
psHookedMethodCallbacks = new HashMap();以及
de.robv.android.xposed.XposedHelpersmethodCache字段和fieldCache字段来判断插件是否hook了自己应用的某些类。
3.对于de.robv.android.xposed.XposedBridge.disableHooks字段的修改,你可以包裹一层,然后时时刻刻打开hook功能即可,谋求这个东西没法通过这个sdk过,和xposed官方源码有关系。

此工具在xposed环境使用,也就是需要依赖···de.robv.android.xposed.XposedBridge···
本工具类绕过了···de.robv.android.xposed.XposedHelper···的调用 绕过了de.robv.android.xposed.XposedBridge的某些代码执行,因此有如下作用。

作用一:

众所周知,朋友们习惯用Xposed作者提供的XposedHelper进行hook相关类,这样导致的问题是 防护安全的开发人员可以通过反射XposedBridge 拿到sHookedMethodCallbacks 检查是否hook了自己的应用。

作用二:

某些喜欢看别人xposed源码的朋友喜欢习惯性的搜索XposedHelper/XposedBridge/XC_MethodHook 来搜寻你的app里面的代码,这将导致你的hook点代码很容易被暴露,这里套了一层代码,增加难度,配合混淆使用效果更好,即便他知道混淆成了a,搜索a也会出现一大堆a类。
另外打开一个hook点的代码进行阅读,它看起来还是吃力一点了,压根不知道哪些是hook的代码。

作用三:

你也可以使用此sdk工具包 hook别人的xposed插件,因为走的逻辑不一样,不会死循环,你可以hook别人的XposedHelper.findAndHookMethod等方法,
不过我这和初衷矛盾了,这个东西是个好东西,怎么用看你自己。嘿嘿嘿!
对于这种用户,我给的方法是自己再封装一层,寻找class通过c层寻找,hook代码也可以在c层做,增加难度。

用法:

    api files("libs/xposed_alias_killer.jar")   

hook某个方法和官方一样的用法,只是包名改了而已,你可以快速的替换,全局搜索

import de.robv.android.xposed替换为import cn.qssq66.xposed

替换完毕后打包你可以混淆此类哦!

作者:qssq666
邮箱:qssq666@foxmail.com qssq521@gmail.com

下载地址

链接:https://pan.baidu.com/s/1bFv0ouAAeuI57ckUdNIalQ
提取码:01e0

上一篇下一篇

猜你喜欢

热点阅读