zoukankan      html  css  js  c++  java
  • 关于如何使用xposed来hook某支付软件

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

     1 final Class<?> classPop = XposedHelpers.findClass("com.alipay.mobile.base.security.CI", clazzLoader);
     2 if(classPop != null)
     3  {
     4      XposedHelpers.findAndHookMethod(classPop, "a", classPop, Activity.class,new XC_MethodReplacement() {
     5          @Override
     6          protected Object replaceHookedMethod(MethodHookParam param) throws Throwable
     7          {
     8              return null;
     9          }
    10      });
    11  }

      

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

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

    需要详细代码请留言

  • 相关阅读:
    腾讯精品课程
    什么都没有,先空出来!
    Python3-super().__init()__
    Python3-模块
    Python3-单例模式
    Python3-私有化修改
    Python3-私有属性
    Python3-面向对象-魔术方法
    Python3-面向对象-四种方法
    Python3-迭代器
  • 原文地址:https://www.cnblogs.com/ganchuanpu/p/10064390.html
Copyright © 2011-2022 走看看