zoukankan      html  css  js  c++  java
  • 【移动安全基础篇】——07、Android_Hook_cydia

    1. Hook 钩子
    对函数进行挂钩,可以影响整个函数的执行,挂上钩子之后,注入的代码可以接管整个函数,修改函数的参数或者返回值,甚至修改函数的行为等等。
    2. Cydia 的 Demo 示例(兼容性问题,所以使用不普遍)
    函数 Hook 的方法如下:
    找到要挂钩的类,然后找到要挂钩的函数,最后对目标函数进行挂钩重写。
    步骤:
    (1)导入 lib 文件 substrate-api.jar
    (2)AndroidManifest.xml 文件修改

    (3)入口类编写

    只需要知道类名就能钩上,而且是属于系统全局属性的钩子,基本不会被检测到,这是cydia 的特点之一。
    3. Java 反射
    Java 能够通过反射方法获取类和它的成员,反射相当于提供一些函数,在不知道原始类定义的情况下,修改类中相关成员的属性和值等。
    方法如下:
    所有类都是继承于Object 的,所以都可以使用 Object 的方法,也可以强制转换为 Object。所以,当遇到无法表示出的对象时,直接使用 Object 即可。
    获取对象的类:

    获取类中的方法:

    使用对应的不是以 s 后缀的函数可以获取特定的函数或 field

    方法调用

    域操作

    访问权限设置,域和方法都一样,控制是否可以直接访问,相当于 public 属性

    其余的函数,可以获取函数的名称,还有其他种种信息

    总会有不期而遇的温暖. 和生生不息的希望。
  • 相关阅读:
    测试
    扫描法作业
    线索二叉树【C语言】
    【数据结构】循环列表的基本操作
    【数据结构】C语言栈的基本操作
    [数据结构】【c语言】链表的创建和遍历
    PXC(Percona XtraDB Cluster)集群的安装与配置
    mysql数据库主从及主主复制配置演示
    基于keepalived双主模型的高可用LVS
    keepalived高可用反向代理的nginx
  • 原文地址:https://www.cnblogs.com/devi1/p/13486476.html
Copyright © 2011-2022 走看看