OD的全称是Ollydbg,是反汇编工作的常用工具,且功能强大。学会OD从此破解收费软件、去广告不再求人。
本视频是鱼C教程系列,全套教程售价199元,在本站可免费下载播放。
关于OD的下载,大家自行百度即可。
关于寄存器
寄存器就好比是CPU身上的口袋,方便CPU随时从里边拿出需要的东西来使用。
今天的程序中我们涉及到九个寄存器:
EAX:扩展累加寄存器
EBX:扩展基址寄存器
ECX:扩展计数寄存器
EDX:扩展数据寄存器
ESI:扩展来源寄存器
EDI:扩展目标寄存器
EBP:扩展基址指针寄存器
ESP:扩展堆栈指针寄存器
EIP:扩展的指令指针寄存器
这些寄存器的大小是32位(4个字节),他们可以容纳数据从0-FFFFFFFF(无符号数),除了以下三个寄存器,其他我们都可以随意使用:
EBP:主要是用于栈和栈帧,由于刚开始接触,不用担心太多,小甲鱼会逐渐给你介绍的。
ESP:指向当前进程的栈空间地址。
EIP:总是指向下一条要被执行的指令。
关于栈
栈是在内存中的一部分,它有两个特殊的性质:
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