Xposed是个强大的工具,可以hook所有的java方法,下面用Xposed来截获App的用户名密码,默认你已经安装好Xposed环境了
参考文章:http://blog.csdn.net/beyond296089727/article/details/45766297

AS中创建带有Login界面的项目

然后一路Next,创建成功后,运行,App界面如下:

为了使用Xposed劫持应用的用户名和密码,我们需要知道该应用的包名和要hook的方法,我们只要找到点击SIGN IN OR REGISTER按钮的点击事件处理方法,只要hook这个方法,我们就能获取到输入框中的信息。

  • 包名:xposed.doctorq.com.qq4xposed
  • hook的方法:xposed.doctorq.com.qq4xposed.LoginActivity.attemptLogin

hookbeforeHookedMethod方法中获取下面两个属性的值:

Xposed Module

Xposed Module称为Xposed插件,利用Xposed进行实际劫持的项目。

我们创建一个不带界面的Android项目,创建一个类,实现IXposedHookLoadPackage:

public class LoginHook implements IXposedHookLoadPackage{@Overridepublic void handleLoadPackage(XC_LoadPackage.LoadPackageParam loadPackageParam) throws Throwable {if(!loadPackageParam.packageName.equals("xposed.doctorq.com.qq4xposed")) return;findAndHookMethod("xposed.doctorq.com.qq4xposed.LoginActivity", loadPackageParam.classLoader, "attemptLogin", new XC_MethodHook() {@Overrideprotected void beforeHookedMethod(MethodHookParam param) throws Throwable {XposedBridge.log("已经HOOK");Class o = param.thisObject.getClass();XposedBridge.log(o.getName());Field.setAccessible(o.getDeclaredFields(), true);Field fieldEmail = findField(o, "mEmailView");Field fieldPassword = findField(o,"mPasswordView");AutoCompleteTextView autoTextView = (AutoCompleteTextView)fieldEmail.get(param.thisObject);EditText editText = (EditText)fieldPassword.get(param.thisObject);String email = autoTextView.getText().toString();String password = editText.getText().toString();Toast.makeText((Activity)param.thisObject,"邮箱: " + email + ",密码 : " + password,Toast.LENGTH_LONG).show();}@Overrideprotected void afterHookedMethod(MethodHookParam param) throws Throwable {}});}
}

xposed_init文件修改如下:

安装该应用,在Xposed Installer中勾选,重启生效,操作之前的App,正常输入邮箱和密码:

总结

使用Xposed进行hook的时候,难点不是如何使用Xposed,而是如何找到要被hook的方法,比如你如何hook QQ登录方法,这就需要反编译QQ的Apk找到登录入口,要是学会这一点,随便一个App你都能Hook。

原文地址: https://testerhome.com/topics/4296

Android 安全专项-Xposed 劫持用户名密码实践相关推荐

  1. python 抓网卡数据包 解析wifi_某高校校园网WIFI嗅探用户名密码实践

    ***********************本文提及的方法仅供安全学习用途,禁止非法利用************************** 0x00 写在前面 某高校校区的校园网WIFI的采用H3 ...

  2. Xposed获取微信用户名密码

    请关注我的微信公众号 参考文章:Xposed恶意插件 Android 安全专项-Xposed 劫持用户名密码实践 0x00 我在之前的文章中演示了一下如何通过Xposed获取用户名密码,那篇文章的例子 ...

  3. android登录实现回显用户名和密码

    基于android的登录例子 程序的流程 1.从布局中取得用户名和密码 2.判断是否为空,为空不进行处理,不为空默认登录成功 3.登录成功后,把用户信息储存在私有目录中 4.用户在次使用app使,去读 ...

  4. android在哪存储当前用户名和密码,Android实战教程第七篇之如何在内存中存储用户名和密码...

    本文实例为大家分享了Android内存中存储用户名和密码的方法,供大家参考,具体内容如下 首先是配置文件: xmlns:tools="http://schemas.android.com/t ...

  5. Android数据库加密与破解(Xposed hook SQLCipher 密码)

    Xposed hook SQLCipher 密码 什么是SQLCipher HOOK加密的原理 介绍 原理 开始使用 下载安装模块 运行ADB命令 启动待解密的APP 在Windows下解密 下载wi ...

  6. android默认smb用户名和密码错误,win7系统下连接SMB提示用户名密码错误的解决方法...

    有很多电视都可以通过SMB协议和电脑连接,但是有不少win7系统用户在连接SMB的时候,按要求输入用户名和密码之后却提示用户名密码错误,该怎么办呢,本文就给大家讲解一下win7系统下连接SMB提示用户 ...

  7. url+用户名+密码_URI和URL详解

    1.URI---用于标示一个抽象或者物理资源 URI定义 URI,通一资源标志符(Universal Resource Identifier, URI),就是由某个协议方案表示的资源的定位标识符,协议 ...

  8. Git credential helper 让你的 https不再需要输入用户名密码

    前言 在使用Git进行开发的时候,我们可以使用ssh url或者http url来进行源码的clone/push/pull,二者的区别是,使用ssh url需要在本地配置ssh key,这也就意味着你 ...

  9. linux php运行用户名和密码,Linux实例(一)使用用户名密码验证连接Linux

    本篇文章给大家带来的内容是关于使用用户名密码验证连接Linux,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 如果您使用的是 SSH 密钥对,请参考 使用SSH密钥对连接Linux实 ...

最新文章

  1. python如何在手机上下载模块-Python 下载文件的 11 种方式
  2. mysql DDL语句
  3. js选择日期即时把两个日期相差天数显示出来?
  4. Mysql5.7.26解压版(免安装版)简单快速配置步骤,5分钟搞定(win10-64位系统)
  5. [Java]jvm参数选项中文文档
  6. 家用计算机选购,家用电脑该如何选择?什么配置比较好?看完这篇文章你就懂了...
  7. Python SVM手写数字识别
  8. vs2003转为vs2010的问题
  9. IT行业英语自我介绍必备
  10. 单片机c语言计算器,基于STC89C52单片机的计算器的设计.doc
  11. 通俗易懂的哈希算法讲解
  12. 一些有趣但少有人知的 Python 特性
  13. 石子合并问题java_动态规划求石子合并问题
  14. 模电学习笔记(七)——差分放大器电路(减法器)
  15. python简历项目经验在哪里找_Linux运维工程师简历项目经验
  16. [线段树分治][DP] LOJ #534. 「LibreOJ Round #6」花团
  17. 电阻接地再串联一个电容,电阻和电容并联
  18. 统计学(二)之一般线性模型(一)
  19. 基于PCL 1.11 的屏幕选点
  20. Centos7安装远程桌面

热门文章

  1. 一个xmltojson类
  2. 【转】MATLAB如何制作动画(动态图形演示movie)
  3. JVM_垃圾收集器与内存分配策略01
  4. 腐蚀膨胀等形态学处理c代码
  5. [云炬创业基础笔记]第一章创业环境测试8
  6. 科大星云诗社动态20220107
  7. VTK修炼之道16:图像处理_窗口分割和图像融合(ViewportvtkImageBlend)
  8. 这些IT圈里的名词,你读对了吗
  9. SQL中OBJECT_ID,OBJECT_NAME,OBJECT_DEFINITION的用法
  10. c#操作数据库(二)dataAdapter篇