当前位置首页 > 逆向破解

OD使用教程第三课(上集)

阅读次数: 次  来源:  发布时间:2017-08-17

 OD的全称是Ollydbg,是反汇编工作的常用工具,且功能强大。学会OD从此破解收费软件、去广告不再求人。

本视频是鱼C教程系列,全套教程售价199元,在本站可免费下载播放。
 
关于OD的下载,大家自行百度即可。
 
关于寄存器
 
寄存器就好比是CPU身上的口袋,方便CPU随时从里边拿出需要的东西来使用。
今天的程序中我们涉及到九个寄存器:
EAX:扩展累加寄存器
EBX:扩展基址寄存器
ECX:扩展计数寄存器
EDX:扩展数据寄存器
ESI:扩展来源寄存器
EDI:扩展目标寄存器
EBP:扩展基址指针寄存器
ESP:扩展堆栈指针寄存器
EIP:扩展的指令指针寄存器
 
这些寄存器的大小是32位(4个字节),他们可以容纳数据从0-FFFFFFFF(无符号数),除了以下三个寄存器,其他我们都可以随意使用:
 
EBP:主要是用于栈和栈帧,由于刚开始接触,不用担心太多,小甲鱼会逐渐给你介绍的。
ESP:指向当前进程的栈空间地址。
EIP:总是指向下一条要被执行的指令。
1.jpg
 
关于栈
 
栈是在内存中的一部分,它有两个特殊的性质:
FILO(Fisrt In Last Out,先进后出)
地址反向增长(栈底为大地址,栈顶为小地址)
 
地址反向增长(栈底为大地址,栈顶为小地址)
 
关于CALL指令
 
很多朋友都问过如何“找CALL”,但很遗憾,从没有朋友问过为什么要“找CALL”。
call XXX; 等于 push eip; 然后 jmp XXX;
 
call有以下几种方式:
call 404000h ;直接跳到函数或过程的地址
call eax ;函数或过程地址存放在eax
call dword ptr [eax]
 
call dword prt[eax]
call dword ptr [eax+5]
 
call dword prt[eax+5]
call dword ptr [<&API>] ;执行一个系统API
 
本课下载地址
 
链接: http://pan.baidu.com/s/1pL1CrV1 密码: kptz