博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
汇编检测OD代码
阅读量:5321 次
发布时间:2019-06-14

本文共 575 字,大约阅读时间需要 1 分钟。

repnz指令说明:重复执行其后面的指令,CX或ECX存放最多比较次数,DI或EDI存放查找表首地址,AL或AX或EAX存放想查找的内容。当(CX或ECX)= 0 或 ZF=1 退出重复,否则,(CX或ECX)自减一,执行其后的串指令。CX或ECX为0结束是因为已经查表完毕,没有匹配到;ZF=1说明 “比较的结果为0”,也就是查找到一样的内容,说明匹配到想要查找的内容。

 

BOOL DetectBreakpoints()

{

       BOOL bFoundOD;

       bFoundOD=FALSE;

       __asm

       {

                jmp     CodeEnd    

   CodeStart:   mov     eax,ecx  ;被保护的程序段

                nop

                push    eax

                push    ecx

                pop     ecx

                pop     eax

   CodeEnd:    

                cld               ;检测代码开始

                mov     edi,offset CodeStart

                mov     edx,offset CodeStart

                mov     ecx,offset CodeEnd

                sub     ecx,edx

                mov     al,0CCH

                repne   scasb

                jnz      ODNotFound

                mov bFoundOD,1

       ODNotFound:                     

       }

       return bFoundOD;

}

转载于:https://www.cnblogs.com/dsli/p/7221513.html

你可能感兴趣的文章
bzoj2257
查看>>
http://www.bootcss.com/
查看>>
20145308 《网络对抗》 注入shellcode+Return-to-libc攻击 学习总结
查看>>
如何使用USBWebserver在本机快速建立网站测试环境
查看>>
变量提升
查看>>
jquery-jqzoom 插件 用例
查看>>
查看oracle数据库的连接数以及用户
查看>>
三.野指针和free
查看>>
python tkinter GUI绘制,以及点击更新显示图片
查看>>
Spring面试题
查看>>
C语言栈的实现
查看>>
SRM 628 DIV2
查看>>
2018-2019-2 20165314『网络对抗技术』Exp5:MSF基础应用
查看>>
SecureCRT的使用方法和技巧(详细使用教程)
查看>>
自建数据源(RSO2)、及数据源增强
查看>>
2018icpc徐州OnlineA Hard to prepare
查看>>
使用命令创建数据库和表
查看>>
linux下Rtree的安装
查看>>
【转】redo与undo
查看>>
安卓当中的线程和每秒刷一次
查看>>