Xposed 包名类名加密要如何hook?多dex如何查找对应的方法?
来源:互联网 发布:淘宝上代购靠谱的店铺 编辑:程序博客网 时间:2024/06/06 00:48
转载请标明出处:
http://blog.csdn.net/djy1992/article/details/73168865
本文出自:【奥特曼超人的博客】
Xposed Hook ,逆向常用之一。
有人经常问,方法名不在原包名下怎么办,也就是被加密过的包名路径,如 com.immqy.a / com.immqy.com.b
, 一般我们会先找包名,再去干出方法名,可是加密了呢?
包名类名加密要如何hook?多dex如何查找对应的方法?
先来看第一种:
//省略if( ! mFuck.packageName.equals("com.immqy.a")){ return;}XposedHelpers.findAndHookMethod("util.abc.e", mFuck.classLoader, "loadJNI", String.class, new XC_MethodHook()){ //...省略操作}
会出现 java.lang.NoSuchMethodError,这是因为什么?
先来看看Hooking Android App 的Hook关键点实现Hook模块的注意点:
- 实现 IXposedHookLoadPackage接口
- 确定要Hook的Android App的包名
- 判断要Hook的包名
- 确定要Hook的AndroidApp的方法
- findAndHookMethod 语法:
XposedHelpers.findAndHookMethod(“包名+类名”, lpparam.classLoader, “要hook的函数名称”, 第一个参数类型, 第二个参数类型….., new XC_MethodHook() { protectedvoidbeforeHookedMethod(MethodHookParam param) { //函数执行之前要做的操作 } protectedvoidafterHookedMethod(MethodHookParam param) { //函数执行之后要做的操作 } });
find 的去包名+类名,这里是缺少了包名 “com.immqy”
,记得是 manifest 里的 packageName 。
现在的APP常用的会分dex,这种需要先去hook Application的attach方法,然后再hook第二个dex的方法,其实更像是手动去找,为什么需要attach,因为attach方法的参数里带有上下文的context,如果用xposed去hook非默认dex文件的类就会发生ClassNotFoundError,要解决这个问题,我们需要拿到对应dex文件的上下文环境。
解决方案:
XposedHelpers.findAndHookMethod(Application.class, "attach", Context.class, new XC_MethodHook() { @Override protected void afterHookedMethod(MethodHookParam param) throws Throwable { ClassLoader cl = ((Context)param.args[0]).getClassLoader(); Class<?> hookclass = null; try { hookclass = cl.loadClass("xxx.xxx.xxx"); } catch (Exception e) { Log.e("dujinyang", "查询报错"+e.getMessage()); return; } Log.i("dujinyang", "查询成功"); XposedHelpers.findAndHookMethod(hookclass, "xxx", new XC_MethodHook(){ //进行hook操作 }); } });
(如有 错误或者更优方法欢迎指出)
|| 版权声明:本文为博主杜锦阳原创文章,转载请注明出处。
阅读全文
2 0
- Xposed 包名类名加密要如何hook?多dex如何查找对应的方法?
- Xposed Android hook -方法介绍
- xposed之hook自身apk之外的apk中的方法
- Xposed: 勾住(Hook) Android应用程序对象的方法,实现AOP
- 解决爱加密加固之后使用xposed hook的时候log打印不出来的问题
- 如何查找native方法所对应的底层文件
- android hook 框架 xposed 如何实现注入
- 基于Xposed的一个简单Hook
- Hook框架xposed的简单demo
- Hook框架xposed的简单demo
- xposed hook框架的使用(一)
- xposed hook框架的使用(二)
- 如何通过类名找到对应的dex文件
- xposed multidex dex
- JAVA AES加密 对应的 C# 方法
- JAVA AES加密 对应的 C# 方法
- AES加密 对应的 C# 方法
- xposed hook 方法 含有自定义类和自定义类数组
- new Date(date).getTime()兼容性
- 目标跟踪VOT2016 BenchMark评价标准介绍
- 归并排序 单链表
- Redis的几种数据结构,和各自应用场景的列举示例
- 【c++小程序】1.动态数组实现图书录入程序
- Xposed 包名类名加密要如何hook?多dex如何查找对应的方法?
- 安卓巨图加载及触摸拖动浏览,仿鸿洋大神使用BitmapRegionDecoder。
- oracle11g 修改字符集 修改为ZHS16GBK
- 如何利用缺陷的管理提高软件开发质量三 -如何利用时间点发现缺陷数
- MySQL错误ERROR 2002 (HY000): Can't connect to local MySQL server through socket
- MySQL常用的面试题
- 60_数组_多维数组_基本语法_内存分析
- Linux 下安装Redis异常处理及安装
- 5.2 窗函数法设计FIR