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 属性

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

    总会有不期而遇的温暖. 和生生不息的希望。
  • 相关阅读:
    UVA-11437 Triangle Fun
    UVA 10491
    CF 223C
    poj 3273
    由异常掉电问题---谈xfs文件系统
    好久没有写博客了,最近一段时间做一下总结吧!
    Json.Net
    div 旋转
    VirtualBox虚拟机网络设置
    windows 2003 安装 MVC 环境 404错误,无法找到该页
  • 原文地址:https://www.cnblogs.com/devi1/p/13486476.html
Copyright © 2011-2022 走看看