PC逆向入门

一、动静结合逆向程序举例

1.无明显main函数

有时,ida左边的分析栏中会遇到无明显main函数入口的情况,此时查找编译器入口(程序的起始点是编译器添加的入口,编译器初始化数据后,调用main函数,如果没有main函数,则只能从编译器入口着手)。
main函数传参有三个参数,所以通过查找3个push,1个call,定位编译器入口,从而定位main函数。
在这里插入图片描述
进入main函数后,我们发现有一个strcmp一个函数比较,可以考虑通过动态调试定位参数值
在这里插入图片描述

2.通过动态调试Ollydbg定位参数值

OD打开后,正常显示call,jmp入口。
如无明显main函数,jmp处回车跟进,找3个push,1个call。
在这里插入图片描述
在这里插入图片描述
回车跟进call,同时让OD数据窗口跟随内存地址,如下所示:
在这里插入图片描述
F2在相应位置下断点,然后F8单步运行程序,数据窗口flag
在这里插入图片描述

二、输入序列号程序逆向举例

题目如下
在这里插入图片描述
在OD中分析,根据报错提示查找字符串
在这里插入图片描述
在这里插入图片描述
回车进入Serial is error! 对应代码块
在这里插入图片描述
修改je 条件判断代码块,改为不要判断,用nop填充。选中代码块,右键汇编
在这里插入图片描述
在这里插入图片描述
执行程序
在这里插入图片描述

右键,保存到可执行文件

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值
>