由于近期有业务上的需要,所以特地花时间去研究了一下如何使用hook技术。但是当我把xposed环境和程序编写完成时,突然发现手机上的某个支付软件无法使用了。这个时候我意识到,应该是该软件的安全机制在起作用。所以特地上网看了一些资料,发现有很多的朋友和我一样有这个问题,当然,也有大神给出了解决方案,我在这里给出这个解决方案的部分程序,给大家参考,仅供学习之用

 final Class<?> classPop = XposedHelpers.findClass("com.alipay.mobile.base.security.CI", clazzLoader);
if(classPop != null)
{
XposedHelpers.findAndHookMethod(classPop, "a", classPop, Activity.class,new XC_MethodReplacement() {
@Override
protected Object replaceHookedMethod(MethodHookParam param) throws Throwable
{
return null;
}
});
}

  

  其实使用hook技术,最大的门槛,是对程序思维的理解,包括对xposed机制的理解以及对要hook程序的理解,在hook的过程中,基本90%的时间是在分析对方软件程序。比如某信和某支付软件的程序,在软件安全上就做了很多措施,包括账号登录、二维码生成、账单数据等都做了非常多的安全处理及代码混淆,当然,安全对我们用户来说是最重要的,所以希望他们越做越好。结尾,也希望hook技术被用到真正需要他的地方,让他发挥更大作用。有什么关于hook上不明白的地方,也可以给我发消息,讨论交流进步。

通过替换 /system/bin/app_process 程序控制 Zygote 进程,使得 app_process 在启动过程中会加载 XposedBridge.jar 这个 Jar 包,从而完成对 Zygote 进程及其创建的 Dalvik 虚拟机的劫持。
Xposed 在开机的时候完成对所有的 Hook Function 的劫持,在原 Function 执行的前后加上自定义代码。

需要详细代码请留言

关于如何使用xposed来hook某支付软件的更多相关文章

  1. 微信支付宝xposed个人收款免签支付源码

    源码介绍: 个人免签支付是指使用自己的微信支付宝账号作为个人网站的收款账号,网站订单支付成功后,网站能实时收到成功回调信息.        系统基于xposed逆向微信.支付宝.云闪付来实现个人收款免 ...

  2. Xposed快速hook关键点

    0x01 导读 工作中,常常需要针对各种app进行快速代码定位,找到代码修改和调试各种功能,就不得不面对xposed来进行一系列快速定位关键代码的问题了.那么问题来了,如何快速找到代码呢? 这里值这针 ...

  3. Xposed 框架 hook 简介 原理 案例 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  4. Xposed MultiDex Hook

    使用Xposed Hook多DEX的应用时,Xposed会抛ClassNotFound的异常,原因是它只会在classes.dex查找类.以下官方不完美解决办法,参考 Github上的 #30 iss ...

  5. Xposed框架Hook Android应用的所有类方法打印Log日志

    本文博客地址:https://blog.csdn.net/QQ1084283172/article/details/80954759 在进行Android程序的逆向分析的时候,经常需要Android程 ...

  6. 关于如何使用xposed来hook微信软件

     安卓端  难点有两个  收款码的生成和到帐监听   需要源码加 2442982910

  7. Android Hook神器:XPosed入门与登陆劫持演示

    前段时间写了一篇关于Cydia Substrate广告注入的文章,大家都直呼过瘾.但是,真正了解这一方面的同学应该知道,其实还有一个比Cydia Substrate更出名的工具:XPosed. 不是因 ...

  8. ART模式下基于Xposed Hook开发脱壳工具

    本文博客地址:http://blog.csdn.net/qq1084283172/article/details/78092365 Dalvik模式下的Android加固技术已经很成熟了,Dalvik ...

  9. Xposed免重启调试工具类

    直接放代码 package com.xirtam.hello; import android.app.Application; import android.content.Context; impo ...

随机推荐

  1. Oracle客户端、服务的安装及干净卸载Oracle

    软件下载地址: 链接:https://pan.baidu.com/s/1Sluf890eNuaV8muL55eO2w 提取码:oez7 服务端因文件过大,所以分了两个文件压缩包,下载后将内容解压后放置 ...

  2. [Swift]LeetCode68. 文本左右对齐 | Text Justification

    Given an array of words and a width maxWidth, format the text such that each line has exactly maxWid ...

  3. [Swift]LeetCode648. 单词替换 | Replace Words

    In English, we have a concept called root, which can be followed by some other words to form another ...

  4. openstack快速安装之packstack

    最简单的openstack安装方式之packstack 一.环境准备 我们安装的是all-in-one环境的openstack,测试机IP:192.168.1.10 [root@openstack ~ ...

  5. Qt创建堆叠窗口

    1.QT创建堆叠窗口使用类,但是使用它时主窗口不能是MainWindow,否则会出现布局错误,本例中使用基类为QDialog QStackedWidget 2.可以配合列表框QListWidget和Q ...

  6. 专访 | 新浪架构师:0-5年Java工程师的职业规划如何做?

    经历了2018年末的阵痛,大家都积攒着一股暗劲蠢蠢欲动. 3月初即将迎来2019年互联网行业换工作的大潮,技术工程师的升级换位对于一家互联网公司来说无疑是命脉般的存在——技术强则公司强! 如何做一个抢 ...

  7. MySQL开启远程连接权限

    对于我们刚开始安装的mysql或者mariadb来说,默认是不开启远程连接的.所以需要我们手动开启远程连接的权限.如果你是使用docker安装mysql那需要先进入容器中,这里就不讲如何进入容器了,百 ...

  8. AspNetCore Mvc 使用 PartialView

    控制器: public IActionResult queryMongoDb(string dbname) { List<MongoDbModel> mdList = new List&l ...

  9. Sdcard插拔、状态广播监听,Android文件系统,Android存储器相关知识总结

    一 SDcard广播监听,注册,取消注册的实现 (1)根据实际需要监听的事件,添加action,并注册,一般在onCreate中添加 //在IntentFilter中选择你要监听的行为 IntentF ...

  10. IntelliJ IDEA部署tomcat时Edit Configuration Deployment无artifact选项

    IntelliJ IDEA,IntelliJ Idea创建web项目之后在配置web项目时,选择Edit Configration部署Tomcat,Deployment里点击添加无artifact选项 ...