OllyDbg小知识【3】 - 功能学习小结

学OD也有两周了,对一些功能有点学习小结。

1、INT3断点

其实,关于INT3断点了解不多,知道机器码为CC,也知道一般调试器断点是采用这种形式。对于OD来讲,就是这样的。所以,对OD的反调试,可以从函数入口地址的机器指令入手。比如如下代码:

FARPROC;
BYTE Mark = 0;
(FARPROC&)  Uaddr = GetProcAddressGetProcAddress(LoadLibrary("user32.dll"), "MessageBoxA");
Mark = *((BYTE*)Uaddr);
if(Mark == 0xcc)
	return TRUE;


不过这样也让OD人容易反anti,就是在函数内部设断点。感觉这应该成为一个习惯吧。


2、F4的运行到光标功能,原来都是用硬件断点实现的。利用中断后自动删除,形成一次性硬件断点。不知道VS之类的是不是这样呢。


3、VC的可执行文件是存放在代码段里面的,既是代码资源吧(.text)。所以,之前我自己搞条件断点实现消息断点,原理应该是先通过判断[ESP+4]==WM_LBUTTONUP,来到系统底层截获,然后通过对.text段设置访问断点,可以直接运行到我们的程序段。不过对于如何从消息循环中走出到我们的按钮事件响应代码中,貌似还需要一步步走出来。


4、对于条件断点的使用,字符串的判断命令:bp CreatFileA, [STRING[esp + 4]] == "C:\\betabin.txt"。


5、条件记录断点,就是可以记录信息吧。直到某一时刻。Shift+F4。


6、用Trace功能来反方向分析。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值