首页 > 其他 > 详细

学习:断点

时间:2019-12-17 23:09:20      阅读:105      评论:0      收藏:0      [点我收藏+]

断点介绍:

shark恒老师说有四种说法,但是其实都是相同的

第一个读法:普通断点
第二个读法:F2断点
第三个读法:INT3断点( int3其实就是汇编指令 )
第四个读法:CC断点 (CC其实就是断点时候的十六进制的数据)


断点的实现:

1、载入OD找到以下地址进行断点,然后进行运行,发现运行到了该地址
0040101A |. /74 01 je short CRACKME.0040101D

技术分享图片

那么断点是如何实现的呢?自己根据shark恒老师讲的复述一遍

其实十六进制会发生改变的,我们自己把这个断点的地址的中的HEX数据放在eax寄存器中进行观察

首先观察到0040101A地址中的数据为74 01
技术分享图片

然后我们在下面随机挑选一个地址 进行反汇编指令为mov eax,dword ptr ds:[0x40101A],然后单步步过,发现EAX中的数据为A1C301CC,如下
技术分享图片

重点观察后面01CC,发现JE跳转的HEX 74 变成了 CC ,然后就会出现异常,接着OD就会进行异常的捕获最后完成了断点的实现


CC和INT3的关系

其实都是一样 一张图就可以明白了

技术分享图片


bp MessageBoxA 和 bpx MessageBoxA之间的区别

都是OD中的快捷键进行断点,但是是有区别的

bp MessageBoxA的断点设置是断在user32.dll动态链接库模块领空中的首地址
技术分享图片

bpx MessageBoxA的断点设置是断在当前程序领空中的所有调用MessageBoxA windows api函数的CALL
技术分享图片

然后我们进行反汇编跟随看看,可以看到都是在当前程序下CALL地方处下的断点
技术分享图片

学习:断点

原文:https://www.cnblogs.com/zpchcbd/p/12056921.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!