断点介绍:

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

学习:CC断点的更多相关文章

  1. OD常用断点之CC断点

    在做Windows平台软件逆向时,Ollydbg是极其常用的逆向工具,动态调试功能非常强大.在调试过程中,断点的使用有助于确定关键的破解位置,今天讲解的内容是OD常用断点中的CC断点. CC断点有很多 ...

  2. 《从缺陷中学习CC++》总结

    从缺陷中学习CC++总结 从本质上来说,这就是一个CC++的错题集.全书中包括63个问题引发的错误,即书名中的缺陷.共分为10章,每一张还有一个比较经典的小结,个人感觉这本书只需要仔细看一下每一章后面 ...

  3. 学习“CC攻击”

    什么是CC攻击? 网上有一个定义:攻击者借助代理服务器生成指向受害主机的合法请求,实现拒绝服务攻击的攻击方式称为CC(Challenge Collapsar)攻击.[据说CC的原意为Chanlleng ...

  4. android studio学习----调试---断点调试

    Android Studio调试其实也非常方便,一般问题直接通过AS的DDMS的Logcat就可以搞定.AS支持类似Eclipse的DDMS的所有功能.这里要说的是疑难问题的调试方式,即断点调试. 首 ...

  5. WinDbg调试流程的学习及对TP反调试的探索

    基础知识推荐阅读<软件调试>的第十八章 内核调试引擎 我在里直接总结一下内核调试引擎的几个关键标志位,也是TP进行反调试检测的关键位. KdPitchDebugger : Boolean ...

  6. X86逆向10:学会使用硬件断点

    本节课我们将学习硬件断点的使用技巧,硬件断点是由硬件提供给我们的一组寄存器,我们可以对这些硬件寄存器设置相应的值,然后让硬件帮我们断在需要下断点的地址上面,这就是硬件断点,硬件断点依赖于寄存器,这些寄 ...

  7. OD断点操作

    原文链接:https://www.cnblogs.com/qiyeboy/p/6815988.html 在做Windows平台软件逆向时,Ollydbg是极其常用的逆向工具,动态调试功能非常强大.在调 ...

  8. Windows用户模式下注入方式总结

    注入技术在病毒木马.游戏.打补丁等编程中应用很广泛,学习该技术不仅能帮助理解Windows工作原理,还能对病毒木马技术手段有更加深刻的理解,下面我们了解下各种注入方式吧. 一.DLL注入 在注入技术中 ...

  9. C/C++ 导入表与IAT内存修正

    本章教程中,使用的工具是上次制作的PE结构解析器,如果还不会使用请先看前一篇文章中对该工具的介绍,本章节内容主要复习导入表结构的基础知识点,并通过前面编写的一些小案例,实现对内存的转储与导入表的脱壳修 ...

随机推荐

  1. golang web 方案

    概要 开发 web 框架 数据库 认证 日志 配置 静态文件服务 上传/下载 发布 docker 打包 部署中遇到的问题 时区问题 概要 轻量的基于 golang 的 web 开发实践. golang ...

  2. 【网络知识之四】HTTP/2

    一.HTTP/1.1存在的问题 1.TCP 连接数限制2.线头阻塞 (Head Of Line Blocking) 问题3.Header 内容多,而且每次请求 Header 不会变化太多,没有相应的压 ...

  3. PyQt5笔记之布局管理

    代码:界面与逻辑分离 这是使用Designer做出的GUI,然后通过转换得到的Py代码.(界面文件) # -*- coding: utf-8 -*- # Form implementation gen ...

  4. update改数据详解

    update修改数据的要素  : 改哪张表? 改哪几列的值? 分别改成什么值? 在哪些行生效?(这个很重要,否则所有行都会受影响) mysql> update class ; where 表达式 ...

  5. java中需要转义的特殊字符

    在Java中,不管是String.split(),还是正则表达式,有一些特殊字符需要转义, 这些字符是 (    [     {    /    ^    -    $     ¦    }    ] ...

  6. 【03】Jenkins:SonarQube

    写在前面的话 SonarQube 这个服务有些人熟悉,有些人陌生.对于我们这样的运维人员,我们需要了解的是,SonarQube 是一个代码质量管理平台,懂得怎么安装配置,这其实就差不多足够了.我们在 ...

  7. 使用kibana给不同的用户创建不同的space

    Elastic安全机制 在很多的情况下,出于安全的原因,我们需要对不同的Kibana用户分配不同的用户权限,这样使得他们之间不能互相访问彼此的资源,同 时他们也应该对不同的索引拥有不同的权限,比如读, ...

  8. 【Hyper-V】尝试启动选定的虚拟机时出错 32788

    错误描述 遇到问题如往常一般搜索了一番(好久没搜索问题了)忽然发现,现在百度文章质量较前几年差太多...怪不得那么多人转搜狗搜索(搜微信文章) PS:有些说是目录权限问题,有些是说虚拟磁盘删了重新加载 ...

  9. C# 操作LDAP

    C# 操作LDAP查找组或人员信息 using System; using System.Collections.Generic; using System.Linq; using System.We ...

  10. mosquitto 常用命令

    原文:https://www.cnblogs.com/smartlife/articles/10182136.html 常用命令 订阅主题 mosquitto_sub -h 192.168.0.1 - ...