学习:CC断点

断点介绍:

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地方处下的断点

posted @ 2019-12-17 21:16  zpchcbd  阅读(672)  评论(0编辑  收藏  举报