Android_Hook之劫持登录学习


利用Xposed框架编写模块实现登录劫持

用到的环境:

Xposed的使用:

  • Xposed可以在不修改APK的情况下对应用的运行结果产生影响,是一款比较常用的Android Hook工具。
  • 首先安装Xposed框架对应APK文件到已经root的手机中,安装完成后打开Xposed如下图所示:

安装好的Xposed框架

  • 接着点击“安装/更新”。注意:安装Xposed存在手机变砖的风险,如果你不明白什么是变砖,也不知道如何解决此问题,请慎重。
  • 这样Xposed框架就在手机中安装完成了,但是这仅仅是一个框架,我们需要下载或者自行编写功能模块。

编写测试应用

  • 我们要模拟一个登陆劫持,下面给出一个模拟登录的APP,界面如图:

登录失败

登录成功

  • 下面附上测试应用关键登陆验证代码:

登录验证

  • 测试应用的包名为:'com.example.administrator.logintest'

编写Hook模块

  • 使用AndroidStudio新建一个Android工程,可以没有Activity
  • 找到AndroidMainfest文件,添加如下几个标签:

添加标签

  • 其中xposedminversion是API的最小版本,这里我们使用的版本为54
  • 将API导入工程:

导入jar包

  • 注意不要放在libs里,新建一个lib文件夹粘贴进去,然后add library
  • 修改build.gradle,把compile改为provided:

gradle

  • 新建一个类,继承 IXposedHookLoadPackage,Hook的关键步骤在此,下面直接上代码:

Hook

  • 这里有两个比较关键的方法:handleLoadPackage获取包加载时候的回调并拿到其对应的classLoader;findAndHookMethod对指定类的方法进行Hook。

编译并安装模块

  • Build APK后使用adb install XXXX.apk 命令将模块APK安装到手机中:

InstallHookMoudle

  • 手机上的Xposed框架检测的模块安装:

检测到模块

  • 激活模块,重启手机:
    激活模块

  • 打开模拟登陆应用,进行登录操作,在Xposed的日志中查看劫持到的信息:

查看劫持的信息

Acknowledge

  • 感谢《Android安全技术揭秘与防范》这本书和其作者 周圣韬
  • Hook的关键在于对目标应用的逆向,找到关键方法
  • 写的比较粗略,如果疑问欢迎留言交流


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM