python黑客[0]-基础知识

Python Hacking 基础知识

1.1、调试器[0]模式:用户模式,内核模式

[0]  WinDbg   OllyDbg  PyDbg   Immunity

1.2、通用cpu寄存器 :EAX, EDX, ECX, ESI, EDI, EBP, ESP,EIP和EBX

EAX 寄存器也叫做累加寄存器
EDX 寄存器也叫做数据寄存器
ECX 寄存器,也叫做计数寄存器
ESI 寄存器是源操作数指针,存储着输入的数据流的位置
EDI 寄存器是目的操作数指针
ESP 和EBP 分别是栈指针和基指针
EBX 是唯一一个没有特殊用途的寄存器
EIP 指向即将执行的指令

1.3、栈

ESP 负责跟踪栈顶; EBP 负责跟踪栈底
栈从内存的高地址像低地址增长

1.4、断点

1.4.1   软件断点: 在CPU 执行到特定指针位置的代码的时候使其暂停。操作码:0xCC
1.4.2   硬件断点: 断点设置在CPU级别,并用特定的寄存器:调试寄存器。一个CPU 一般会有
        8 个调试寄存器(DR0 寄存器到DR7 寄存器)调试寄存器DR0 到调试寄存器DR3 存储硬件断点地址。
        这意味着你同一时间内最多只能有4 个硬件断点。
        DR4 和DR5 保留。DR6 是状态寄存器,
        DR7 本质上是一个硬件断点的开关寄存器,同时也存储了断点的不同类型。
1.4.3   内存断点: 当一个调试器设置了一个内存断点的时候,它其实是改变了内存中某个块或者页的权限

        1.4.3.1  内存页:一个内存页是操作系统处理的最小的内存单位。一个内存页被申请成功以后,就拥有了一个权限集,
        它决定了内存该如何被访问。下面是一些内存页的访问权限的例子:
        (0)可执行页允许执行但不允许读或写,否则抛出访问异常
        (1)可读页只允许从页面中读取数据,其余的则抛出访问异常
        (2)可写页允许将数据写入页面
        保护页(Guard Page) : 这种类型的页面常被用于:分离堆和栈或者
        确保一部分内存数据不会增长出边界。另一种情况,就是当一个特定的内存块被进程命中(访
        问)了,就暂停进程

2.1 调试器和进程连接的方法:
(0)调试器装载一个程序
(1)调试器动态附加到一个程序

2.1.1 使用动态连接库:
(0) cdll()
(1) windll()
(2) oledll()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值