zoukankan      html  css  js  c++  java
  • 学习Hook的必备知识

    1.汇编

    2.API

    3.内存

    4.进程

    5.窗口

    必须熟悉的汇编指令:

    PUSH  入栈

    MOV   赋值

    JMP(JNZ  JE)  跳转

    CALL  调用函数

    RET  返回

    Cmp  比较

    Test  比较

    必须知道什么叫寄存器并且使用

    EAX    累加寄存器(一般情况下,运算结果,call的结果)

    EBX    基址寄存器(存储的基址)

    ECX    计数寄存器(计次循环)

    EDX    数据寄存器(数据)

    EBP    参数或局部变量

    ESP    堆栈

    EDI     目的变址寄存器(交换的目的)

    ESI     源变址寄存器    (交换的源)

    EIP     当前函数运行位置

    程序无法被反编译,所以我们可以通过汇编的形式区了解功能。

    也可以通过汇编代码来对函数或者是变量进行赋值操作

    API:看懂API和调用API

    在windows系统上的程序,都会调用API函数,我们只有找到关键的API函数,进行Hook可以到达意想不到的效果

    内存:了解程序在内存的存储方式

    所有的数据都是存在内存的,都会有一个存储的地址 这个地址我们叫做内存地址

    进程:Hook是在进程中操作的

    每个进程都是独立的,除非共享,注入 包括了很多DLL,Hook不仅仅是exe,更多的是DLL

    窗口:消息机制

    windows的系统是基于消息的

  • 相关阅读:
    okhttp之源码学习1
    Retrofit2之源码解析2
    Retrofit2之源码解析1
    retrofit之笔记内容
    retrofit之基本笔记
    retrofit之基本内容
    rxjava-源码分析
    rxjava-基本内容解析
    rxjava_几类转换
    java几种常见的编码
  • 原文地址:https://www.cnblogs.com/FeverYee/p/12015934.html
Copyright © 2011-2022 走看看