反汇编需要汇编语言的基础,感觉可以同时学,
ollydbg快捷键:
F2——下断点,也就是指定断点的地址;
F3——加载一个可执行程序,进行调试分析;
F4——程序执行到光标处;
F5——缩小还原当前窗口;
F7——单步步入;
F8——单步步过;(Ctrl+F8可以自动步过并设置断点)
F9——直接运行程序,遇到断点处,程序暂停;
Ctrl+F2——重新运行程序到起始处,一般用于重新调试程序;
Ctrl+F9——执行到函数返回处,用于跳出函数实现;
Alt+F9——执行到用户代码处,用于快速跳出系统函数;
Ctrl+G——输入十六进制地址,快速定位到该地址处;
下面将要通过反汇编,改变程序的输出,举个例子:
先贴这次用的exe程序的C语言源码(非常简单的初学代码):
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a;
while(scanf("%d",&a)!=EOF)
{
if(a!=0)
{
printf("YES\n");