如何检测程序是否被调试

原创 2007年09月11日 20:22:00
 如何检测程序是否被调试,其实很简单,几行代码就行了,常应用于软件防破解等方面,但对于某些调试器而言无效(比如改进的OllyDbg--OllyICE)。
下面是C+asm代码,大家可以试试。
#include <stdio.h>
#include <conio.h>
int IsDebugged()
{
    __asm
    {
        mov eax, fs: [30h] //获取线程环境块中对应的进程环境块的地址
        movzx eax, byte ptr[eax + 2h] //获取BebingDebugged标志的值
        or al, al  //测试BebingDebugged标志的值
        jz FLAG1
        mov eax, 1
        jmp END
 FLAG1:
        mov eax, 0 //推荐使用xor eax,eax语句
 END:
    }
}

int main()
{
    if (IsDebugged())
    {
        printf("有调试器!/n");
    }
    else
    {
        printf("无调试器!/n");
    }
    getch();
    return 0;
}

C/C++检测进程是否被调试

程序使用API SetUnhandledExceptionFilter 来注册一个未处理异常的函数1,如果进程没有被调试,那么会触发一个未处理异常,导致操作系统会将控制权交给函数1。如果进程被调试,则...
  • qq_19459853
  • qq_19459853
  • 2015年12月06日 17:51
  • 1107

脱壳的艺术(Anti-debug),调试器检测技术

概述:脱壳是门艺术——脱壳既是一种心理挑战,同时也是逆向领域最为激动人心的智力游戏之一。为了甄别或解决非常难的反逆向技巧,逆向分析人员有时不得不了解操作系统的一些底层知识,聪明和耐心也是成功脱壳的关键...
  • zhoujiaxq
  • zhoujiaxq
  • 2014年04月08日 11:22
  • 2676

反调试技术常用API,用来对付检测od和自动退出程序

在调试一些病毒程序的时候,可能会碰到一些反调试技术,也就是说,被调试的程序可以检测到自己是否被调试器附加了,如果探知自己正在被调试,肯定是有人试图反汇编啦之类的方法破解自己。为了了解如何破解反调试技术...
  • super_mimi
  • super_mimi
  • 2014年10月24日 12:11
  • 4155

如何在VC Studio中调试时查看汇编代码?

我希望在调试时查看源代码的汇编代码,请问如何查看?谢谢!
  • zane78
  • zane78
  • 2004年07月14日 11:16
  • 1409

如何检测程序是否被调试

 如何检测程序是否被调试,其实很简单,几行代码就行了,常应用于软件防破解等方面,但对于某些调试器而言无效(比如改进的OllyDbg--OllyICE)。下面是C+asm代码,大家可以试试。#inclu...
  • Y___Y
  • Y___Y
  • 2007年09月11日 20:22
  • 3208

调试信息查看工具Dbgview

  • 2015年04月03日 18:12
  • 457KB
  • 下载

Android判断应用是否存在 及 Android 关闭整个应用程序

通过包名判断     public boolean checkBrowser(String packageName) {         if (packageName =...
  • mengweiqi33
  • mengweiqi33
  • 2012年06月19日 16:03
  • 10852

判断Android手机是否开启USB调试

boolean enableAdb = (Settings.Secure.getInt(getContentResolver(), Settings.Secure.ADB_ENABLED, 0) > ...
  • zhangfei2018
  • zhangfei2018
  • 2015年09月21日 17:08
  • 926

网络检查

  • 2002年09月09日 00:00
  • 3KB
  • 下载

详解反调试技术

反调试技术,恶意代码用它识别是否被调试,或者让调试器失效。恶意代码编写者意识到分析人员经常使用调试器来观察恶意代码的操作,因此他们使用反调试技术尽可能地延长恶意代码的分析时间。为了阻止调试器的分析,当...
  • qq_32400847
  • qq_32400847
  • 2016年10月14日 18:40
  • 4219
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何检测程序是否被调试
举报原因:
原因补充:

(最多只允许输入30个字)