首页 > 其他分享 >8.9 RDTSC时钟检测反调试

8.9 RDTSC时钟检测反调试

时间:2023-09-27 09:24:49浏览次数:39  
标签:8.9 检测 eax rdtsc Debug RDTSC 时钟 ecx

RDTSC时钟检测同样可实现反调试检测,使用时钟检测方法是利用rdtsc汇编指令,它返回至系统重新启动以来的时钟数,并且将其作为一个64位的值存入EDX:EAX寄存器中,通过运行两次rdstc指令,然后计算出他们之间的差值,即可判定对方是否在调试我们的程序。

可以利用时钟检测技术来检测程序是否被调试器附加,其实现基本思路如下:

  • 获取当前时间戳 T1,即通过执行 rdtsc 指令获取当前 CPU 时钟计数器的值。
  • 执行一段代码,例如随机生成一个数字或者MessageBox等,使得程序中断一些时间,防止被调试器单步跟踪。
  • 获取当前时间戳 T2,即通过再次执行 rdtsc 指令获取当前 CPU 时钟计数器的值。
  • 计算时间戳之差,即 T2-T1,如果该差值较小,则表明程序正在被调试器跟踪。
#include <Windows.h>
#include <stdio.h>

BOOL IsDebug()
{
    int Debug = 0;
    __asm
    {
        rdtsc           // 调用时钟
        xor ecx, ecx
        add ecx, eax    // 将eax与ecx相加
        rdtsc           // 再次调用时钟
        sub eax, ecx    // 两次结果做差值
        mov Debug, eax
    }
    
    printf("打印差值: %d \n", Debug);
    if (Debug >= 21)
    {
        return TRUE;
    }

    return FALSE;
}

int main(int argc, char * argv[])
{
    if (IsDebug())
    {
        printf("[-] 进程正在被调试 \n");
    }

    system("pause");
    return 0;
}

标签:8.9,检测,eax,rdtsc,Debug,RDTSC,时钟,ecx
From: https://www.cnblogs.com/LyShark/p/17731853.html

相关文章

  • NTP子母钟系统(NTP网络时钟服务器)助力数字化校园建设
    NTP子母钟系统(NTP网络时钟服务器)助力数字化校园建设NTP子母钟系统(NTP网络时钟服务器)助力数字化校园建设京准电子科技官微——ahjzsz 【摘要】时钟系统是校园网络中一个重要的精准计时系统,随着网络的普及,许多校园都建了自己的校园专网,使用的网络设备和服务器也日益增多,这些设备......
  • CentOS同步阿里云时钟
    安装Chrony[root@k8s-masteropt]#yuminstallchronyLoadedplugins:fastestmirrorLoadingmirrorspeedsfromcachedhostfile*base:mirrors.aliyun.com*extras:mirrors.ustc.edu.cn*updates:mirrors.aliyun.comResolvingDependencies-->Runningtr......
  • gps北斗授时服务器(NTP时钟服务器)技术应用方案
    gps北斗授时服务器(NTP时钟服务器)技术应用方案gps北斗授时服务器(NTP时钟服务器)技术应用方案京准电子科技官微——ahjzsz随着计算机和网络通信技术的飞速发展,火电厂热工自动化系统数字化、网络化的时代已经到来。一方面它为控制和信息系统之间的数据交换、分析和应用提供了更好的......
  • Verdi波形查看transaction+门控时钟+时钟切换+vcs的ucli+斐波那契LFSR和伽罗瓦LFSR
    Verdi波形查看transaction除了以下两个选项以外,+UVM_TR_RECORD+UVM_LOG_RECORD还需要声明+UVM_VERDI_TRACE选项+UVM_VERDI_TRACE=UVM_AWARE+RAL+TLM+MSG+HIER+PRINT否则使用的是VC的环境抓取,而不是Verdi环境。(VerdiTransactiondebug)门控时钟时钟门控如果仅仅使用一个......
  • GPS北斗卫星同步时钟(NTP时间同步)助力化工厂各系统协同方案
    GPS北斗卫星同步时钟(NTP时间同步)助力化工厂各系统协同方案GPS北斗卫星同步时钟(NTP时间同步)助力化工厂各系统协同方案京准电子科技官微——ahjzsz本项目需配备多台HR-901GB网络时间服务器,各作业部部署一台或多台一级NTP网络时间服务器(炼铁事业部包括高炉、烧结和球团,需配置3台网......
  • NTP网络时钟系统(NTP网络子母钟)详细内容介绍
    NTP网络时钟系统(NTP网络子母钟)详细内容介绍NTP网络时钟系统(NTP网络子母钟)详细内容介绍京准电子科技官微——ahjzszHR系列型NTP网络子钟是由安徽京准电子科技有限公司精心设计、自行研发生产的一套通过网口与母钟连接的子钟,接收母钟发送来的时间信息(信息内容:年、月、日、时、分......
  • RCC时钟详解
    目录一.STM32时钟树1.这里主要熟悉SYSCLK的时钟流程即可.(主要是配置好锁相环)二.核心寄存器分析1.RCC_CR时钟控制寄存器2.RCC_CFGR时钟配置寄存器3.其他寄存器三.RCC外设驱动1.操作寄存器方式驱动1.固件库方式驱动四.RCC外设驱动总结一.STM32时钟树1.这里主要熟悉SYSCL......
  • 园区交换机之间做NTP时钟同步
    问题:当前我们自己局域网中,每台设备的时钟存在差异,导致查看日志时不清楚事故发生的时间---》解决办法:在核心设备配置NTP服务,让其余二层设备都从核心上同步NTP时间。原理:核心设备向其他设备发送广播,其他设备接收到广播后更新clock时间,与核心进行时间同步。配置如下:core: ntp-......
  • 18_系统时钟管理
    系统时钟管理HAL_Delay()延时HAL_Delay(1000);//延迟一秒如果主函数中还有一些耗时操作,那么实际耗时为:1秒+耗时操作时间vTaskDelay()相对延时每次从任务执行函数vTaskDelay()开始,延时指定时间结束vTaskDelayUntil()绝对延时每隔指定的时间,执行一次调用vTas......
  • system_stm32f4xx.c文件配置时钟
    staticvoidSetSysClock(void){/******************************************************************************//*PLL(clockedbyHSE)usedasSystemclocksource*//***********************************************************......