配合反汇编引擎效果出奇;

Here is what I see in hacker defense testing 0xCC software breakpoints

;I write it with FASM assembler

include 'win32ax.inc'

use32

entry start

section '.text' code readable executable

start:

push ebp

mov ebp,esp

mov eax,[fs:30h] ;peb

mov ebx, dword[eax+08h] ;Imagebase

mov dword [imagebassaddress],ebx

mov eax,[eax+0ch]

mov eax,[eax+0ch]

mov ebx, dword [eax+20h] ;sizeofimage

mov dword [sizeofimage],ebx

invoke CreateThread,NULL,NULL,fuckocc,NULL,0,NULL

fucknima:

mov ecx,10

loop fucknima

mov esp,ebp

pop ebp

invoke exit,NULL

fuckocc:

;Function implementation

push ebp

mov ebp,esp

fuckcc_loop:

mov al,0xcc

mov edi,dword [imagebaseaddress];get imagebaseaddress

mov ecx,dword [sizeofimage];get imagesize

repne scasb

sub edi,1;get address 0XCC=1BYTE so sub

mov dword [fuckcc],edi ;write 0xcc address to .data

;mov dword [edi],0x90

jmp fuckcc_loop

mov esp,ebp

pop ebp

section '.data' data readable writeable

imagebaseaddress dd 00

sizeofimage dd 00

fuckcc dd 00

section '.idata' import data readable

library kernel,'KERNEL32.DLL'

import kernel,CreateThread,'CreateThread',\

exit,'ExitProcess'

寻找0XCC软件断点相关推荐

  1. 调试器工作原理--CPU软件断点/硬件断点/单步执行标识

    断点和单步执行是两个经常使用的调试功能,也是调试器的核心功能. 断点是调试器的最常用技术之一.其基本思想是在某一个位置设置一个陷阱,当CPU执行到此位置时,中断到调试器中,让调试者分析和调试,之后恢复 ...

  2. 嵌入式软件调试之软件断点

    关注.星标公众号,直达精彩内容 来源:CSDN | maomao171314 整理:技术让梦想更伟大 | 李肖遥 软件断点 INT 3 指令,即通常所说的"软件断点",一条X86系 ...

  3. 软件调试学习笔记(五)—— 软件断点内存断点

    软件调试学习笔记(五)-- 软件断点&内存断点 调试的本质 软件断点 软件断点的执行流程 分析INT 3执行流程 实验:处理软件断点 内存断点 内存断点的执行流程 实验:处理内存断点 调试的本 ...

  4. 硬件断点和软件断点(整理)

    文章目录 1. 断点的类型 2. 为什么要分软件断点和硬件断点呢? 3. GDB中如何设置软/硬件断点 1. 断点的类型 软件断点:由非法指令异常实现,适用于运行于内存中的程序(软件实现).以x86为 ...

  5. VC++设置软件断点和“XXX已停止工作“对话框

    根据资料,VC++中可以用三种方法设置软件断点: 1 使用汇编指令(注:x64 c++不支持嵌入汇编) _asm int 3 2 编译器提供的方法 __debugbreak(); 3 使用window ...

  6. 硬件断点和软件断点的区别

    硬断点--break point 软断点--assert 简单的解释: 硬件断点:硬断点需要硬件寄存器提供支持,断点的数目受Embedded ICE中的Watchpoint数目的限制,但是可以在任何地 ...

  7. 单片机编程软件很简单(14),Keil单片机编程软件断点设置

    单片机编程软件十分常用,对于单片机编程软件,小编于往期文章中做过诸多介绍.本文对于单片机编程软件的介绍基于Keil,主要内容在于介绍该单片机编程软件的在线汇编功能以及断点设置.如果你对Keil单片机编 ...

  8. GDB再学习(6):断点调试之软件断点

    系列文章目录 GDB再学习(1):前言 GDB再学习(2):编译 GDB再学习(3):GDB的启动和运行 GDB再学习(4):程序准备 GDB再学习(5):常用指令介绍 GDB再学习(5.1):常用指 ...

  9. 如何寻找省级软件产业主管部门认可的软件检测机构出具报告

    对于很对软件企业想要自己的软件上线.验收.登记等甲方都明确的需要省级软件产业主管部门认可的软件检测机构出具的软件测试报告,那么如何寻找软件检测机构,怎么辨别是否具备资质呢,下面一航软件测评的小编来告诉 ...

最新文章

  1. [android] Serializable 和 Parcelable 区别
  2. matlab在电力行业中的仿真技术-MATLAB基于EKF算法估计电动汽车蓄电池的SOC
  3. Matlab中newff函数使用方法和搭建BP神经网络的方法
  4. 五大常用经典算法—回溯算法
  5. SectionIndexer中的getSectionForPosition()与getPositionForSection()解惑
  6. 理想化的DevOps团队里只需要有Dev就够了?
  7. 炸裂!谷歌这波操作,预警了什么?
  8. 可能是最强大的【CSS】动画库
  9. caffe linux 教程,Caffe 深度学习入门教程 - 安装配置Ubuntu14.04+CUDA7.5+Caffe+cuDNN_Linux教程_Linux公社-Linux系统门户网站...
  10. 服务器无法拖动文件复制文件,​IT服务器运维:艾锑人为您整理Win10系统下移动、复制、删除文件需要管理员权限的解决方法...
  11. 清远机器人编程_「新时代好少年」清远学生研发“灭火装置”获实用新型专利...
  12. java class教程_深入理解Java Class文件格式(七)
  13. 蚂蚁金服副总裁刘伟光:浅析银行数字化转型之二「打造金融敏捷中心」
  14. mingw32位下载以及windows下安装
  15. Gradle基础:7:Property使用方式
  16. pyqt显示圆形图片
  17. ROS错误之RLException: Ubable to launch [xx-1]].
  18. STM32f107 CAN滤波器设置
  19. JVM学习教程,带你轻松掌握Java虚拟机,吊打面试官
  20. 计算机网络重要知识点

热门文章

  1. MATLAB调用dither()函数将莲花图片进行图像转化
  2. 社团娱乐--记录大学美好生活摄影
  3. JavaScript相册单图放大预览
  4. 如何用计算机算分数指数幂,第三章冪函数指数函数及其图像3.1指数和幂概念的推广.doc...
  5. PostgreSQL WAL解析:构建WAL记录准备
  6. Apache 80端口被占用
  7. 我一口气面试6家大厂,已拿下5家offer,分享经验,其实大厂没有你想象中难
  8. Nginx的简单使用
  9. 存储结构基础之 :二叉树前序中序后序遍历逻辑
  10. C++实现贪吃蛇源码