Windows开发相关简记二:exe和dll双形态

Windows开发相关简记二:exe和dll双形态

bingliaolong Windows 9个月前 20 0

启动流程 BasicEntry 作为dll导出接口 PrepareEnv 先构建运行时 ntdll.dll kernel32.dll 获取当前dll句柄 EXE被当做DLL加载时,首先修复重定位数据,此时的全局变量等还无法访问 因为Windows操作系统不会修复当做DLL加载的E...

Windows动态库(DLL)详细学习:二

Windows动态库(DLL)详细学习:二

bingliaolong Dll 1年前 13 0

概述 现象 有个DLL是给JavaScript调用的,发现它加载了这个库后,给Init函数传入了两个参数 实际上,该动态库导出的函数中,Init是别名,为InitDefrag 而项目中名为InitDefrag的函数只有一个,且只有一个参数 结论 是正确的用法 因为上述的InitD...

WindowsHOOK相关

WindowsHOOK相关

bingliaolong Windows 1年前 185 0

概述 HOOK技术(钩子技术)是Windows操作系统中的一种核心机制,允许程序拦截并处理系统事件、消息或函数调用 通过HOOK,开发者可以监控或修改系统的行为,例如键盘输入、鼠标点击、窗口创建/销毁等 HOOK技术广泛应用于安全防护、自动化工具、调试分析等领域 原理 消息机制与...

动态库

动态库

bingliaolong Dll 6年前 4 0

相关 dll 包含所有的代码编译成的指令 lib 包含一个列表,表明dll含有哪些符号,每个符号对应在dll里的位置 工程 使用VS新建项目 选择Win32控制台应用程序 应用程序类型:DLL 附加选项:空项目 创建工程 环境 添加cpp文件 右键工程属性,选择C/C++ 选定代...

一些问题一:vs相关、dll相关、编译相关

一些问题一:vs相关、dll相关、编译相关

bingliaolong Windows 8个月前 20 0

编译相关 #pragma init_seg 概述 是微软C++编译器中的一个编译指令,专门用于精细控制全局静态对象(包括静态变量)的构造和析构顺序 在解决复杂的初始化依赖或DLL加载问题时非常有用 语法 优先级 compiler 最高优先级 此组别的对象最先构造,最后析构 通常保...

一些问题二:libcurl静态链接相关问题

一些问题二:libcurl静态链接相关问题

bingliaolong Windows 4个月前 10 0

概述 从vcpkg安装了libcurl的静态库,把该静态库拷贝到了项目同级目录,并在项目中引用了这个libcurl.lib 问题 现象 编译出test.exe的时候发现,同时会多出两个文件 libcurl.dll zlib1.dll 分析 在项目同级目录放进去的是静态库,也在项目...

COM组件_4

COM组件_4

bingliaolong Windows 1年前 29 0

ATL线程模型和套间 概述 在 COM 开发中,线程模式(Threading Model) 和 套间(Apartment) 是确保组件在多线程环境下安全运行的核心机制 ATL(Active Template Library)通过模板类(如 CComObjectRootEx)和线程...

运行库选项

运行库选项

bingliaolong Dll 6年前 29 0

位置 项目属性 C/C++ 代码生成 运行库 选项 /MT /MTd /MD /MDd 区别 这些区别是针对VC来讲 /MT /MTd指静态编译(多线程静态版本),使用lib以及MSVC相关的静态库 定义了它后,编译器把LIBCMT.lib 安置到OBJ文件中,让链接器使用LIB...

Windows_DLL注入相关

Windows_DLL注入相关

bingliaolong Windows 1个月前 19 0

概述 注入方法 CreateRemoteThread + LoadLibraryA/W (最经典) SetWindowsHookEx (钩子注入) QueueUserAPC + LoadLibraryA (APC 注入) 注册表/配置文件 + AppInit_DLLs (系统级)...

About DLL

About DLL

bingliaolong Dll 6年前 17 0

加载 双击.exe的时候,该.exe被加载到内存当中,形成一个进程 在这个过程中,DLL也会被加载到内存中 DLL被加载后处于被占用的状态,不能对它进行修改删除等操作 DLL被卸载后,可以对它进行操作 对于占用同一个DLL的不同进程,不可比较DLL中变量的地址,因为DLL数据段每...

扫一扫二维码分享