首页 > 其他分享 >8.6 STARTUPINFO

8.6 STARTUPINFO

时间:2023-09-27 09:25:09浏览次数:28  
标签:return 8.6 STARTUPINFO dwFlags si 体中 调试器

STARTUPINFO 结构体,可以用来指定新进程的主窗口外观风格、背景颜色、标题等信息,也可以用来实现反调试技术。通常情况下,我们可以将STARTUPINFO结构体中的dwFlags成员设置为STARTF_DEBUGONLYTHISPROCESS,以防止调试器附加到当前进程。设置了STARTF_DEBUGONLYTHISPROCESS后,如果尝试通过调试器附加到该进程,则调试器将直接失败并退出。

程序启动时默认会通过explorer资源管理器,调用CreateProcess()函数创建的时候会把STARTUPINFO结构体中的值设置为0,但如果通过调试器启动程序时该值并不会发生变化,我们可以通过判断结构体中的dwFlags参数来实现反调试。

#include <Windows.h>
#include <stdio.h>

BOOL IsDebug()
{
    STARTUPINFO si = { 0 };
    GetStartupInfo(&si);

    if (si.dwFlags != 1)
    {
        return TRUE;
    }
    return FALSE;
}

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

    system("pause");
    return 0;
}

标签:return,8.6,STARTUPINFO,dwFlags,si,体中,调试器
From: https://www.cnblogs.com/LyShark/p/17731835.html

相关文章

  • Docker 部署 Elasticsearch 8.6.2
    Docker部署Elasticsearch8.6.2dockerpullelasticsearch:8.6.2mkdir-pv/home/zonglin/elasticsearch/pluginssudodockerrun--nameelasticsearch-p9200:9200-p9300:9300\--restart=always\-e"discovery.type=single-node"\-eES_JAVA_......
  • debain 安装es 8.6
    首先需要安装jdk17+官网介绍:https://www.elastic.co/guide/en/elasticsearch/reference/8.6/deb.html#install-deb1、安装签名key#安装Downloadandinstallthepublicsigningkey:wget-qO-https://artifacts.elastic.co/GPG-KEY-elasticsearch|sudogpg--dearmor-o......
  • ElasticSearch 8.6集群搭建过程​
    ElasticSearch8.6集群搭建过程一、系统信息操作系统版本:CentOSLinuxrelease8.4.2105elasticsearch版本:8.6.1机器信息:主机名ip地址CPU内存(G)数据盘es01192.168.205.251632/data/(500G)es02192.168.205.261632/data/(500G)es03192.168.205.271632/data/(500G)二、操作......
  • Ant Design 5.8.6 发布,企业级 UI 设计语言和 React 实现
    AntDesign5.8.6发布,企业级UI设计语言和React实现来源:OSCHINA编辑: 白开水不加糖2023-09-0310:31:02 0AntDesign 5.8.6 现已发布,主要变化如下: 针对CSSInJS加载styles大小进行了优化。Notification和Message组件只有在展示时才会插入对......
  • redhat8.6 安装 19c 单机
    hosts文件配置echo"192.168.2.8319c">>/etc/hostscat/etc/hostsecho"exportLANG=en_US.UTF8">>~/.bash_profilecat~/.bash_profile挂载镜像mount/dev/cdrom/mntcd/etc/yum.repos.dmkdirbkmv*.repobk/echo"[EL8-1]&quo......
  • 8.6-8.13
    7.30今日任务:pta练习(完成)记单词(完成)练习口语(完成) 7.31今日任务:记单词(完成)练习口语(完成)pta练习(完成)8.1今日任务:学习Java课程(完成)学习英语单词(完成) 8.2今日任务:记单词(完成)听力练习(完成) 8.6今日任务:记单词(完成)听力练习(完成)pta练习(完成)8.4今日任务:记......
  • 2023.8.6
    今天早起啦,早起化妆准备出发!外面很冷,感觉像是秋天来了其实也快秋天了哈哈,一年过的真的很快啊和朋友做的不是同一辆的火车但是基本上是同时到第一天去了太原街和山姆超市,晚上去了彩电塔夜市拍了很多照片,开心!酒店很便宜但是也很好......
  • 暑假周记(8.6)
    平平无奇的一个白天,到了晚上,刚吃完饭,老妈不放心姥姥姥爷(姥爷家有洪水的风险),想着趁着晚上有空去看看他们,就叫我姐对象开车带着我们去,结果给我整晕车了,自从上了初二第一次晕车晕的这么厉害,比大一下那次吐得多多了,给我难受的腰都直不起来。String类不可改变,如需对字符串做很多修改,选......
  • 上周热点回顾(7.31-8.6)
    热点随笔:· 35岁失业程序员现身说法 (车骑)· 简单了解一下国产操作系统 (后厂村思维导图馆)· 仅三天,我用GPT-4生成了性能全网第一的GolangWorkerPool,轻松打败GitHub万星项目 (胡说云原生)· 禁止别人调试自己的前端页面代码 (极客飞兔)· 重返照片的原始世界:我......
  • 2023.8.6
    学习java中的类面向对象与面向过程面向过程:强调的是功能行为,以函数为最小单位,考虑怎么做。面向对象:强调具备了功能的对象,以类/对象为最小单位类与对象的关系类:对一类事物的描述,是抽象的、概念上的定义对象:是实际存在的该类事物的每个个体,因而也称为实例(instance)面向对象......