解决Detours编译报错(在Win10+vs2015开发环境下)

Detours Hook 工具源码阅读三 简单介绍一下使用Detours工具修改PE文件导入表实现dll注入的方法。 阅读详情

原文链接

1、首先去官网点击打开链接 下载安装

express版本的特点:不能全局拦截,也不能源码级别拦截

2、编译

我这里使用Windows10和vs1015,

首先打开 所有应用-visual studio 2015-选择vs2015开发人员命令提示

进入DetoursExpress30的安装目录

cd D:\Software\DetourExpress30\src
输入nmake进行编译,出现如下错误

D:\Software\DetourExpress30>nmake

Microsoft (R) 程序维护实用工具 14.00.23026.0 版
版权所有 (C) Microsoft Corporation。  保留所有权利。

        cd "D:\Software\DetourExpress30\src"
 Created ..\include
 Created ..\lib.X86
 Created ..\bin.X86
 Created obj.X86
        cl /W4 /WX /Zi /MTd /Gy /Gm- /Zl /Od /DDETOURS_BITS=32 /DWIN32_LEAN_AND_MEAN /D_WIN32_WINNT=0x403 /Gs /DDETOURS_X86=1 /DDETOURS_32BIT=1 /D_X86_ /DDETOURS_OPTION_BITS=64 /Fd..\lib.X86\detours.pdb /Foobj.X86\detours.obj /c .\detours.cpp
用于 x86 的 Microsoft (R) C/C++ 优化编译器 19.00.23026 版
版权所有(C) Microsoft Corporation。保留所有权利。

detours.cpp
C:\Program Files (x86)\Windows Kits\8.1\include\um\dbghelp.h(1544): error C2220: 警告被视为错误 - 没有生成“object”文件
C:\Program Files (x86)\Windows Kits\8.1\include\um\dbghelp.h(1544): warning C4091: “typedef ”: 没有声明变量时忽略“” 的左侧
C:\Program Files (x86)\Windows Kits\8.1\include\um\dbghelp.h(3190): warning C4091: “typedef ”: 没有声明变量时忽略“” 的左侧
.\detours.cpp(156): warning C4456: “pbNew”的声明隐藏了上一个本地声明
.\detours.cpp(156): note: to simplify migration, consider the temporary use of /Wv:18 flag with the version of the compiler with which you used to build without warnings
.\detours.cpp(147): note: 参见“pbNew”的声明
.\detours.cpp(163): warning C4456: “pbNew”的声明隐藏了上一个本地声明
.\detours.cpp(163): note: to simplify migration, consider the temporary use of /Wv:18 flag with the version of the compiler with which you used to build without warnings
.\detours.cpp(147): note: 参见“pbNew”的声明
.\detours.cpp(1263): warning C4456: “o”的声明隐藏了上一个本地声明
.\detours.cpp(1263): note: to simplify migration, consider the temporary use of /Wv:18 flag with the version of the compiler with which you used to build without warnings
.\detours.cpp(1112): note: 参见“o”的声明
NMAKE : fatal error U1077: “"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\cl.EXE"”: 返回代码“0x2”
Stop.
NMAKE : fatal error U1077: “"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\nmake.exe"”: 返回代码“0x2”
Stop.

D:\Software\DetourExpress30>
①使用文档编辑器打开 D:\Software\DetourExpress30\src\Makefile文件,搜索找到下面一行

CFLAGS=/W4 /WX /Zi /MTd /Gy /Gm- /Zl /Od /DDETOURS_BITS=$(DETOURS_BITS)
将这一句中的 /WX 删除,如下

CFLAGS=/W4 /Zi /MTd /Gy /Gm- /Zl /Od /DDETOURS_BITS=$(DETOURS_BITS)


②使用文档编辑器打开D:\Software\DetourExpress30\samples\common.mak 搜索找到下面一行

<pre name="code" class="plain">CFLAGS=/nologo /Zi $(CLIB) /Gm- /W4 /WX /Od /DDETOURS_BITS=$(DETOURS_BITS)

 

同样删除 /WX 

CFLAGS=/nologo /Zi $(CLIB) /Gm- /W4 /Od /DDETOURS_BITS=$(DETOURS_BITS)

然后运行nmake

就会编译成功

打开D:\Software\DetourExpress30\lib.X86  已经生成detours.lib文件






Win7 64b的VS2015 如何使用nmake成功编译detour express 3.0-error2202 警告被视为错误 - 没有生成“object”文件 首先打开你的开始目录,找到VS2015,找到如图1所示的开发人员命令提示。打开                      图1 从开始菜单打开VS的开发人员命令行 图2 打开VS2015开发人员命令提示     傻瓜式安装detour express 3.0,安装完成后,应该在你的C:\Program Files (x86)\Microsoft Research\Det 阅读详情

相关推荐

在win7 64bit + vs2008 + sdk v7.0的环境下编译Detours

关于Detours的官方介绍,请参见这里。 现在已经有3.0版了,但是要收费,所以基本上大家还在使用2.1。下载地址 Detours在通常环境下的编译比较简单,但在64位操作系统下稍微麻烦些。而且很多博文中描述的方法是错误的。 这篇国外的博文很好,详

bible的专栏 3935

detours编译错误fatal error C1189: #error: Feature not supported in this release

1.从微软官网下载detours,然后编译总是出错fatal error C1189: #error:  Feature not supported in this release。 2.微软论坛上搜到的,原文链接https://social.msdn.microsoft.com/Forums/vstudio/en-US/d55264b9-a105-4d6d-82cc-3661a3fb2ea7/

SimpleForest的博客 2205

Win7/8.1 Steam Zstd解压补丁技术解析

Zstd(Zstandard)是一种高性能、高压缩比的现代数据压缩算法,其核心原理是基于有限状态熵编码与哈夫曼+RLE混合建模,在保证压缩率的同时大幅提升解压速度。该算法已被Steam等主流分发平台广泛采用,但因客户端对旧操作系统的主动兼容性移除,导致Windows 7/8.1用户遭遇‘内容不可用’错误。其技术价值体现在低CPU占用、内存友好及流式解压能力,适用于游戏更新、云同步、补丁分发等高并发下载场景。本文聚焦Zstd在Legacy Windows平台的本地解压支持问题,深入剖析DLL注入、API Ho

weixin_34274029的博客 366

无法解析的外部符号 _DetourCreateProcessWithDllW@48,该符号在函数 _WinMain@16 中被引用

最简单的方式来解决,这是的detours.lib复制到项目目录,然后在你的源代码或头文件的任何地方添加一行: #pragma   comment(LIB,“detours.lib”); 如果没有复制到项目目录,我们也可以将“detours.lib”改为“目录+“detours.lib”

自信的尘埃 www.gocpplua.com 2632

C++ HOOK技术实战:手把手实现企业微信消息自动收发(附源码)

Windows消息机制是桌面应用运行的基石,几乎所有用户交互都通过消息循环分发。HOOK技术则是在这条消息通路上设置“哨兵”,允许开发者拦截、监视甚至修改消息流向,是Windows底层开发的核心手段。基于C++的HOOK实现,配合DLL注入与Detours函数级钩子,能够在消息到达UI前获取纯净数据,或在不干扰界面的情况下主动触发发送流程。这种技术广泛应用于系统监控、辅助工具、自动化测试以及企业内部效率工具。例如,在IM客户端中,通过HOOK消息回调与发送函数,即可实现安全合规的消息自动收发、关键词回复与日

weixin_34034670的博客 380

Gh0st 3.6源码编译与协议改造实战指南

远程控制软件源码分析是网络安全领域理解C/S通信、Windows内核交互与加密协议的关键入口。其核心涉及Win32 API调用机制、CryptoAPI加密原理及自定义二进制协议设计,技术价值在于支撑红队工具链定制、EDR绕过研究与安全协议逆向。典型应用场景包括ICMP隧道开发、TLS传输层升级、键盘记录模块解耦及DLL注入对抗分析。本文聚焦Gh0st 3.6这一经典开源远控框架,深入解析VC6.0+SDK 7.0编译环境重建、CryptEncrypt@24链接错误修复、4字节包头+AES-CBC信道逆向,以

weixin_29323049的博客 304

Detours:下载及编译

下载链接:GitHub - microsoft/Detours: Detours is a software package for monitoring and instrumenting API calls on Windows. It is distributed in source code form. https://github.com/microsoft/Detours 微软的Det...

博客 3599

Windows进程隐藏技术原理与内核对抗实践

进程隐藏是操作系统安全与对抗技术中的基础概念,其本质涉及用户态API钩子、内核对象管理、系统调用分发机制等底层原理。从NtQuerySystemInformation拦截到ObRegisterCallbacks回调注册,再到ETW事件屏蔽与PspCallDriver Patch,每种方法都映射着Windows安全机制的演进逻辑——如PatchGuard对SSDT的保护、HVCI对内核代码段的硬件级只读锁定。这些技术不仅体现c++进程隐藏与驱动隐藏进程的工程实现路径,更揭示现代EDR检测依赖多源异构日志(如E

weixin_33923762的博客 401

(一)VS 2019 编译Detours方法提取setdll.exe,然后远程线程调试注入的dll

需要远程调试DLL内容请看→这里 网上大部分都是很久以前的版本,刚好本人使用了2019版本,但是需要远程调试DLL。然后坑踩了2个小时。由于网上要么没有资料,要么资料都很旧。直接看下面吧: 本人电脑 win10 ,64位系统 1.下载Detours https://www.microsoft.com/en-us/download/confirmation.aspx?id=52586...

Qensq的博客 2409

detours.lib

detours 配置文件 VS2003配置库文件的时候需要一个.LIB文件

神州数码OSPF实战配置详解(手把手教学)

本文提供神州数码设备上OSPF基础配置的详细实战教程。通过搭建典型的两台三层交换机互联实验环境,手把手演示了VLAN创建、接口IP配置、OSPF进程启动、Router-ID设置及网络宣告等核心步骤,并分享了邻居状态验证、路由检查及常见排错方法,帮助网络工程师快速掌握神州数码OSPF的配置要点与操作技巧。

weixin_29210727的博客 79

VC++6.0在Win10/Win11原生运行七步修复方案

VC++6.0作为经典C++开发环境,其核心价值在于支撑大量工业控制、嵌入式固件及 legacy 系统的持续维护与复现。其运行原理依赖特定版本的CRT运行时(如msvcp60.dll)、MFC消息机制及Windows早期COM组件模型,而现代系统因DEP/CFG内核保护、DLL加载机制变更和注册表虚拟化导致兼容性断裂。技术价值体现在零虚拟机、不降级系统、不破坏安全策略的前提下实现原生稳定运行,广泛应用于PLC烧录工具、数控系统人机界面、高校实验平台等强实时或硬件直连场景。本文聚焦VC++6.0在Win10/

weixin_34221073的博客 434

CAN 比特率和采样点计算

架构根据输入频率和比特率自动计算。

ldinvicible的专栏 787

Unity编辑器全局深色模式实现:Win32窗口子类化与DLL注入实战

在Windows桌面应用开发中,Win32 API提供了对窗口行为的底层控制能力,其中窗口子类化是一项关键技术,允许开发者拦截并自定义窗口消息处理流程。这项技术的核心价值在于能够在不修改原始程序源码的情况下,动态改变其界面行为,为软件界面定制化提供了强大支持。在游戏开发领域,Unity编辑器作为广泛使用的开发环境,其Windows版本仍沿用传统的Win32窗口框架,导致系统标题栏与编辑器内部深色主题不协调。通过DLL注入技术结合窗口子类化原理,可以精准定位Unity主窗口类名UnityContainerWn

weixin_30887919的博客 342

Kylin-Desktop-V10-SP1海光版虚拟机安装全流程(含桥接网络配置)

本文详细介绍了在VMware虚拟机中安装Kylin-Desktop-V10-SP1海光版操作系统的完整流程,重点解决了基于海光(Hygon C86)平台的网络配置难题。内容涵盖从镜像准备、虚拟机创建、系统安装到桥接网络配置的三种实战方法,并提供了安装后的优化与必备软件配置指南,帮助用户高效搭建国产化测试与开发环境。

weixin_29323493的博客 352

(NOI)打表骗分过样例,暴力枚举出奇迹1.8.22题解

                                                                                                                                                           48818 B题解 #include &lt;iostream&gt; u...

Owen20071026的博客 3127

Windows 11下稳定运行VC6.0的工程级适配方案

Visual C++ 6.0作为经典C/C++开发环境,其核心价值在于对ANSI C标准、MFC框架及原生Win32 API的精准实现,是大量工业控制软件、嵌入式调试工具和高校教学代码库的唯一编译基础。随着Windows系统演进,现代操作系统在注册表虚拟化、DPI感知、DLL加载策略、GDI渲染链路和调试器内核接口等层面持续强化安全与兼容性隔离,导致VC6.0在Windows 11上出现MSVCRT.DLL版本冲突、中文乱码、调试失败、串口丢包等典型问题。解决这些并非简单启用兼容模式,而是需从系统策略、文件

weixin_34080951的博客 401

PyCharm安装PyQt5及工具详细教程

PyCharm是一款功能强大的Python集成开发环境(IDE),而PyQt5是一个用于创建GUI应用程序的流行Python库。在本教程中,我将指导您如何在PyCharm中安装PyQt5及其相关工具,并提供相应的源代码示例。安装完成后,启动PyCharm并创建一个新的项目。为了隔离项目的依赖项,我们建议在PyCharm中使用虚拟环境。在创建项目的过程中,您可以选择创建新的虚拟环境或使用现有的环境。根据您的操作系统,选择适当的版本并按照安装向导的指示进行安装。首先,您需要下载并安装PyCharm。

CfProgram的博客 588

C86兼容性深度解析:VC80运行时、SxS清单与WoW64重定向三重错位

C86并非简单的x86兼容模式,而是以Visual C++ 2005(VC80)为核心的遗留二进制兼容体系,其本质是编译器时代(VC80 CRT/MFC)、操作系统机制(Windows Side-by-Side清单)与运行时环境(WoW64文件/注册表重定向)三重时间错位的叠加。理解C86需回归ABI稳定性、TLS初始化逻辑和SxS组件绑定原理,技术价值在于保障工业软件、EDA工具、嵌入式IDE等闭源遗产系统的可持续运行。典型应用场景包括国产化迁移(统信UOS/麒麟V10对VC80的Wine模拟)、老旧ME

weixin_34056162的博客 393

白话讲解帕累托前沿点(Pareto Frontier)基础知识与实例解析

排除所有“劣解”,缩小决策范围;量化目标间的“权衡关系”(如“每增加1千元成本,续航提升多少小时”);支持不同场景下的个性化选择,平衡冲突目标。无论是手机选购、汽车设计,还是城市规划,帕累托前沿都是从“混乱的多目标”到“清晰的权衡”的关键桥梁,是现代决策科学中不可或缺的工具。通过数学建模,工程很多问题都可以建模成帕累托前沿求解问题,通过线性规划CPLEX、Gurobi 等优化工具,可以方便进行求解。

2138

【JDK】win 10 / win 11:jdk 8 下载、安装、配置、验证

win10 / win 11:JDK 最新版本下载 / 历史版本下载(jdk 8)、安装、配置系统环境变量、验证安装全详细操作教程

顾三殇 —— 博客空间(软件测试) 13万+

Windows反调试技术原理与实战:从PEB到内核级检测

反调试技术是软件安全防护的基础能力,本质是程序通过操作系统接口主动感知调试环境。其核心原理依赖Windows进程结构(如PEB中的BeingDebugged标志)、未文档化NT API(如NtQueryInformationProcess查询ProcessDebugPort)以及内核级信息获取(如NtQuerySystemInformation的SystemKernelDebuggerInformation)。这些技术不依赖代码混淆,而是在用户态与内核态构建多层验证体系,具备高隐蔽性与强对抗性。在EDR开发

weixin_34413103的博客 219

如何调试10G/25G以太网IP自协商/Link Training

如果是40G/50G, 100G以太网,选的是多通道的IP,务必保证两端的通道0是正确对接上的,因为在做自协商的时候,以太网只使用通道0,其它通道需在自协商完成后再加入工作。b. 自协商的工作完全由IP自动完成的,所以只要配置没问题,你只需要耐心等待就可以看到自协商的完成,以an_good_check为标志,并且进入下一步linktraining。c. 在LT的过程中,首先你要等到IP能够锁定LT帧,即frame_lock拉高,然后你就可以进行你自己的LT算法了,与AN不同LT是由客户手动完成的。

qq_43416206的博客 1508
上一篇: Android签名机制用法详解
下一篇: C语言udp的封装和使用
墨迹流韶
博客等级 码龄12年 3粉丝 7原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值