Xposed基本知识整理

使用Xposed对native进行hook 使用Xposed对native进行hook,Dobby框架的使用 阅读详情

1.用于Hook的基本类和方法

public class Module implements IXposedHookLoadPackage
{
      @Override
      public void handleLoadPackage(XC_LoadPackage.LoadPackageParam lpparam)
          throws Throwable
      {
         if(lpparam.packageName.equals("com.nenu.aa.testapp"))
         {
            XposedHelpers.findAndHookMethod("com.nenu.aa.testapp.MainActivity",lpparam.calssLoader, "isOK",String.class,String.class,new XC_MethodHook(){
            @Override
            protected void beforeHookedMethod(MethodHookParam param) throws Throwable{
            XposedBridge.log("Account:"+param.args[0].toString());
            XposedBridge.log("Password:"+param.args[1].toString());
            }
            @Override
            protected void afterHookedMethod(MethodHookParam param) throws Throwable{
            XposedBridge.log(param.getResult().toString());
            }
            });
         }
      }
}

在XC_MethodHook接口中,有两个方法可以去重写。如果这两个方法都不改写,将不会有任何的效果。这两个方法是beforeHookedMethod和afterHookedMethod.不难猜测,这两个方法分别在原生方法的前后执行。我们可以用“before”方法去评估或者篡改传给原生方法的参数(通过param.args),甚至阻止对原生方法的调用(通过传输自己方法的结果),“after”方法可以用于干一些基于原生方法输出结果的事,可以在此时篡改结果.总而言之,我们可以在原生方法调用前后添加自己的代码。
2.测试testapp代码:

package com.nenu.aa.testapp;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    final String ACCOUNT="sunyafei";
    private final String PASSWORD="12345678";
    private EditText etAccount,etPassword;
    private Button btnLogin;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        etAccount=(EditText)findViewById(R.id.et_Account);
        etPassword=(EditText)findViewById(R.id.et_Password);
        btnLogin=(Button)findViewById(R.id.btn_login);
        btnLogin.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if(isOK(etAccount.getText().toString(),etPassword.getText().toString()))
                {
                    Toast.makeText(MainActivity.this, "登陆成功", Toast.LENGTH_SHORT).show();
                }
                else
                {
                    Toast.makeText(MainActivity.this,"登录失败",Toast.LENGTH_SHORT).show();
                }
            }
        });
    }
    private boolean isOK(String account, String password)
    {
        return account.equals(ACCOUNT)&&password.equals(PASSWORD);
    }
}

用来hook 包com.nenu.aa.testapp中的MainActivity类中的isOK方法。

3.一些说明
1.接口IXposedHookLoadPackage中有抽象方法:handleLoadPackage(XC_LoadPackage.LoadPackageParam lpparam)
此方法用于在加载应用程序包时被调用,我们就是在此方法中进行相关的hook操作。注意:每次加载应用程序包时都会被调用。其中的参数XC_LoadPackage.LoadPackageParam包含了应用程序的一些基本信息。
2.

安卓逆向-Xposed-Hook入门 如上述其中一个方法Log.d(Tag, "这是复杂参数方法 || " + str);编写如下hook代码,使用了XposedBridge中的hookAllMethods方法避免了使用findAndHookMethod时需要输入一些复杂的或自定义的参数@Override}); 阅读详情

相关推荐

安卓逆向Hook So层方法

在Android逆向工程中,对so层(共享库层)的hook是一种常见的技术手段。对so层的hook常常使用的工具是frida和Xposed。下面是一个关于如何使用Frida对Android应用的so文件进行hook的简单教程。

weixin_43169858的博客 2694

Android笔记-Xposed的使用(Hook登录函数获取用户名密码)

如这个APP例子: 点击登录,Xposed打印: 对应的Java代码: 这里可以看到其包名为hfdcxy.com.myapplication 函数为check。 Xposed关键函数如下: public class HookUtils implements IXposedHookLoadPackage { @Override public void handleLoadPackage(XC_LoadPackage.LoadPackageParam load..

IT1995的博客 1974

MuMu模拟器安装Xposed框架完整指南

Xposed框架作为Android系统级的Hook工具,通过动态替换系统方法实现功能扩展,是移动安全研究和逆向工程的重要技术。其核心原理是在Zygote进程加载时注入自定义代码,实现对系统API的拦截与修改。在模拟器环境中部署Xposed框架,能够安全地测试各类Hook模块,适用于应用逆向、漏洞挖掘等场景。本文以MuMu模拟器为例,详细讲解从root权限获取到Xposed安装的全流程,重点解决x86架构兼容性和adb连接等常见问题,提供性能调优参数和模块管理技巧,帮助开发者快速搭建Android逆向分析环境

weixin_30443731的博客 379

Xposed 插件开发之二: Xposed的一些知识

一、 Api说明1. IXposedHookLoadPackage.java加载回调接口,在xposed入口类继承,实现handleLoadPackage方法 handleLoadPackage(XC_LoadPackage.LoadPackageParam loadPackageParam) 这个方法用于在加载应用程序的包的时候执行用户的操作 参数: LoadPackageParam loa

KeepStudy 2万+

端侧部署与优化:让 AI 真正走进现实生活的关键技术

AI 的开发流程分为 “训练” 与 “推理” 两大阶段。在训练阶段,科研人员依托云端海量数据和高性能 GPU 算力,构建出精度优异的 AI 模型 —— 比如能识别 1000 种物体的图像分类模型、能理解人类语言的自然语言处理模型。但这些在云端 “战绩斐然” 的模型,若直接应用到现实场景中,却会面临三大 “落地困境”。从云端到端侧,从模型压缩到硬件适配,端侧部署与优化技术解决了 AI 落地的核心难题,让 AI 不再是实验室里的 “高精尖技术”,而是融入日常生活的 “实用工具”。

m0_63477749的博客 1053

2025软考中级《数据库系统工程师》案例模拟题合集

1.【说明】某销售企业正在实施电商平台项目,主要功能模块包括用户中心、商品中心、交易中心、支付中心、营销中心等。其中支付中心模块包括了一个账户表:Account (ano, aname, balance),其中属性含义分别为:账户号,账户名称和账户余额。 假设现在存在事务Ti对账户表Account进行余额的修改,系统记录了修改账户表的日志记录,假设更新日志记录表示为 <Ti,A,V1,V2>,表明事务Ti对账户A执行了一个写操作,写操作前账户A的余额是V1,写操作后账户A的余额为V2。<Ti,D

2301_76902257的博客 2329

Art下Xposed解析整理

用于Xposed框架及模块的管理工作,最终产物即是我们看到的Xposed安装器应用2.Xposed本质上是Xposed版的zygote(孵化器),由XposedInstaller来将原生的zygote进行替换,从而达到注入的目的此项目产物即XposedBridge.jar,也就是Xposed待注入的jar包,编写Xposed模块时使用到的一些类如XposedHelpers、XposedBridge都在这里此项目编译编译生成需要替换的系统so库例如libart.so。

某互联网大厂安全架构师,从事移动安全行业8年 拒绝AI生成,拒绝抄袭搬运,输出优质原创 matrix_oc 982

在没有信用卡的情况下怎么申请谷歌云(Google Cloud)?

这笔额度足够用来跑一台云服务器、部署小型网站,甚至可以尝试 AI、机器学习等项目。但问题来了——想要拿到这 300 美元,你必须先通过支付方式验证。默认选项就是绑定一张国际信用卡(Visa、MasterCard 之类),然而不少人没有信用卡,或者信用卡无法支持国际支付,结果就卡在注册第一步。很多人会疑惑:既然是送额度,为什么还要绑卡?原因其实很简单:谷歌需要确认你是真实用户,而不是批量注册薅羊毛;通过支付验证,后续如果你用完 300 美元额度,可以直接进行付费使用;

m0_74824483的博客 5666

Xposed那些事儿 — xposed框架的检测和反制

之前看到有人发了关于使用xposed屏蔽抖音检测xposed的思路(https://www.52pojie.cn/thread-684757-1-1.html),贴出了部分伪代码,但觉抖音写的蛮有意思的,自己对这方面也不是很清楚,毕竟Android我没怎么学习。借这个机会,了解一下。写的不是很清楚,大家多多抱哈啊!~~整理了一下文档,我发现抖音主要使用了以下的手段检测xposed。 ...

dfa7886的博客 1448

MacTeX+TeXstudio:Macbook配置本地Latex看这一篇就够了

这个博客记录本人在MacBook上配置本地Latex的流程,其中选择的编译环境为MacTeX,编辑器为TeXstudio。采用的原因主要两点:一个是本人配置的原因主要是用来撰写毕业论文,希望能够尽可能简化设置流程,专注内容表达;第二是由于本人还有一个windows系统的笔记本,想要编辑器在专注写作体验的同时在两个系统上能够都适配,从而减少切换效率,故选择此组合。这篇文章介绍并详细记录了本人的安装流程,有相同需求的同志也可借鉴。

Katherine-XY的博客 6987

V93000 SmarTest 8入门:从零搭建你的第一个半导体测试程序

半导体测试是芯片从设计走向量产的关键环节,而ATE(自动化测试设备)正是支撑这一环节的核心工具。理解ATE测试程序开发的基本原理,不仅需要掌握测试机台的硬件架构,还要熟悉其软件环境中的管脚映射、电平时序、测试流程等底层逻辑。V93000作为爱德万的主力平台,其SmarTest 8环境通过对象化与流程化设计,将复杂的芯片测试任务拆解为可配置、可复用的模块,极大提升了并行测试效率与调试的便利性。无论是数字逻辑芯片的功能验证,还是模拟混合信号器件的参数测量,掌握SmarTest 8的核心操作都能帮助你快速搭建出可

weixin_31476015的博客 247

rec删除xposed_Xposed框架对应各系统版本的下载与卸载

Xposed框架支持的Android系统版本从2.3开始已经到了6.0,目前仅有Android 2.3版本的Xposed框架为非官方版本,这里略作整理,后续将会把Xposed框架的几个大的版本更新记录作为介绍写出来。Xposed框架安装器分为稳定版(stable)和体验版(experiment),稳定版本目前保持在2.6.1,体验版目前保持在2.7.1版本,两者的区别在前者稳定而后者可能会存在各种...

weixin_39885803的博客 3197

杰理SDK入门教程(二):USB升级程序

开发板升级操作指南 摘要:本文介绍了开发板程序升级的两种方式(常规升级和串口升级),重点说明了常规升级的操作步骤: 拨码设置:提供4种拨码方式(不拨/1档/2档/3档),对应不同指示灯状态和按键要求 硬件连接:强制升级工具需正确连接电脑和开发板(注意USB接口方向) 升级流程:根据拨码状态操作按键,观察指示灯变化(红灯常亮绿灯灭表示进入升级模式) 执行升级:运行SDK中的download.bat完成升级 文中还包含拨码开关说明、指示灯状态对照表以及升级原理说明,帮助用户理解升级过程。升级成功后在设备管理器可

qq_42014563的博客 1123

【免费下载】 Xposed框架安装所需的ZIP文件

Xposed框架安装所需的ZIP文件 【下载地址】Xposed框架安装所需的ZIP文件 本仓库提供了安装Xposed框架所需的.zip文件,适用于SDK 21至SDK 25(即Android 5.0至Android 7.1)的设备。由于网络环境问题,Xposed框架软件可能无法成功从网站上下载相应的.zip包,因此本仓库...

gitblog_09709的博客 4995

使用Python爬虫抓取公共交通网站的时刻表

Python爬虫是一种通过自动化方式从网页中抓取数据的程序。爬虫通过模拟用户请求,获取网站的HTML页面内容,并通过解析这些HTML内容,提取出我们需要的信息。requests:用于向网站发送HTTP请求并获取响应。:用于解析HTML文档,提取数据。Selenium:用于处理动态加载的网页,模拟浏览器操作。pandas:用于数据处理和分析,方便存储和操作抓取到的数据。本文介绍了如何使用Python爬虫抓取公共交通网站的时刻表,并提取其中的关键信息。我们使用了requestsSelenium和。

2201_76125261的博客 1120

即插即用系列(代码实践) | CVPR 2025 WPFormer:小波与原型增强Transformer——表面缺陷检测SOTA,专治弱缺陷与杂乱背景

摘要:本文提出了一种基于小波变换和原型增强的Transformer模型(WPFormer),用于像素级表面缺陷检测。该模型针对工业场景中微弱缺陷难以识别和杂乱背景干扰严重的问题,创新性地将小波变换引入Transformer的注意力机制,通过频域信息分离噪声与边缘特征,同时利用原型向量引导查询,实现了更精准的缺陷定位。核心模块包括小波增强交叉注意力(WCA)和原型引导交叉注意力(PCA),适用于工业缺陷检测、伪装目标检测和医学图像分割等任务。代码已开源,支持即插即用集成到现有框架中。

分享顶会顶刊论文即插即用模块 302

Android关于Xposed使用[逆向]

  一.安装xposed安装器 建议下载安卓模拟器(夜神模拟器等),在模拟器中测试使用,避免因为xposed的安装导致手机变砖; xposed安装器下载 下载安装器之后,打开安装器,选择框架 &gt; 安装更新,根据提示进行操作,安装完成之后显示一下界面: 二.写代码 创建xposed相关模块,先创建一个项目,我这里包名为"cn.xpx.xpx"; 引入xposed相关联的库文件...

zFox的博客 876

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

xposed android debug,Android 手机开启全局调试xposed插件

手机开启全局调试ro.debuggable = 1 一般方法就是重刷boot.img ,大部分手机都比较困难。还有就是命令临时修改,重启手机失效的。还有magisk 刷的今天给介绍一个xposed插件来实现 手机的全局调试原理,反正是frame java层,管他什么hook就行。再Zygote fork进程之前hook 修改runtimeFlags ,打开全局调试就可以。具体hook点查找思路,后...

weixin_39872872的博客 1335

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

逆向中 工具:Frida和 Xposed的Hook有什么区别?

逆向中 工具:Frida和 Xposed的Hook有什么区别?

liuruiaaa的博客 1953

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

小米android7.0xposed,目前支持非官方版本Xposed框架且系统为Nougat版(Android7.0+)的ROM整理...

Xda的友人们整理了一个非官方版本的Nougat系统Xposed框架支持的ROM,之前来自PurifyOS貌似也已经做出来了Android7.0的版本,不过由于他们自己的存储服务已经挂了,所以暂时我也看不到文件,这里整理Android7.1和Android7.0系统版本支持Nougat版本Xposed框架的ROM,LOS是lineageos的缩写,前身为CM。具体如下,仅供参考。Android 7...

weixin_35564436的博客 852

Xposed模块开发教程整理

Xposed模块开发教程 Xposed官网 Xposed官方文档 Xposed框架介绍 了解和使用Android神器Xposed框架 Xposed模块开发 Xposed模块开发入门 在手机状态栏增加显示cpu温度 Xposed模块编写(一) Xposed模块编写(二) Xposed模块开发教程,该篇讲解通俗易懂 Xposed微信模块开发 微信聊天机器人 微信版本:6.6.7 微信...

小半的博客 3739

突破安卓HTTPS抓包难题:Xposed+JustTrustMe框架实战指南

本文针对安卓App HTTPS抓包中常见的SSL Pinning和系统证书信任难题,提供了详细的实战解决方案。通过使用Xposed框架配合JustTrustMe模块,有效绕过应用层的证书绑定,并结合将抓包工具CA证书安装为系统证书的方法,确保流量可被完整解密。指南涵盖了从环境搭建(如逍遥模拟器配置)到实战抓取普通App及微信小程序流量的全流程,是安全测试与数据分析的实用参考。

onion的博客 968

Xposed开发入门笔记

Xposed的官方教程过于繁琐,这里自己整理一篇入门教程。主要参考:Xposed Module开发教程。这个教程清晰易懂,而且是用AS开发的,很实用。但是这个链接里面有关键的一步没有指出,后面再讨论。开发环境是Android Studio 1.5,运行环境是模拟器Android 4.1.1 - API 16。0. 准备工作在机子上安装Xposed Installer,新手可以试着下载GravityB

临安雨潇 989

用黑客思维做测试——神器 Xposed 框架介绍

Xposed 框架 Xposed 框架是一款可以在不修改APK的情况下影响程序运行(修改系统)的框架服务,基于它可以制作出许多功能强大的模块,且在功能不冲突的情况下同时运作。 基本原理 Zygote 进程是 Android 的核心,所有的应用程序进程以及系统服务进程都是由Zygote进程 fork 出来的。Xposed Framework 深入到了 Android 核

wzgiceman 1万+

Xposed入门篇之安装xposed框架

Xposed入门篇之安装xposed框架 本人手机类型:华为荣耀8(FRD-AL10) 在root手机时,百度了一些资料,最新的root安卓的姿势主要有supersu和magisk,原来root手机主要是在第三方REC刷supersu,现在有哦接触到了一个新的据说不修改systerm分区的magisk,据说不影响系统更新。。。。。 我使用的是magisk进行root,刷入systemless版xp...

Mingx1n的博客 2万+

xposed框架_安卓玩机必备之「Xposed框架」使用指南

Xposed框架是一款可以在不修改APK的情况下影响程序运行(修改系统)的框架服务,基于它可以制作出许多功能强大的模块,且在功能不冲突的情况下同时运作。由于Xposed的官方版本(作者rovo89)最新的版本停留在Android 8.0/8.1 beta3版本(即v90-beta3),因此本文将通过归类Android系统版本来阐述使用方法。首先请查看我的另外两个教程,分别说明了安装的思路,另外配有...

weixin_39649965的博客 1855
上一篇: Android Studio中minSdkVersion、targetSdkVersion、compileSdkVersion、buildToolsVersion的理解
下一篇: Android中关于数据库SQLite的insert插入操作的理解
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值