![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Windows
文章平均质量分 69
龙行天下01
这个作者很懒,什么都没留下…
展开
-
Windows 下的文件预分配与 SetFileValidData 函数
Windows 下的文件预分配与 SetFileValidData 函数转载 2024-07-03 14:47:10 · 13 阅读 · 0 评论 -
【逆向工程核心原理:SEH】
【逆向工程核心原理:SEH】转载 2024-06-27 18:26:51 · 25 阅读 · 0 评论 -
反调试技术- IsDebuggerPresent,原理 与 反反调试
反调试技术- IsDebuggerPresent,原理 与 反反调试转载 2024-06-27 17:46:09 · 13 阅读 · 0 评论 -
Windows下自删除的艺术
Windows下自删除的艺术转载 2024-06-27 15:38:20 · 10 阅读 · 0 评论 -
Qprocess的一些使用问题
QProcess的一些问题原创 2024-06-27 14:16:58 · 75 阅读 · 0 评论 -
三种文件句柄之间的转换
windows三种文件句柄之间的转换转载 2024-06-27 14:01:57 · 6 阅读 · 0 评论 -
Api Hook, Hook Api that you want to Hook
https://github.com/microsoft/Detours 逆向转载 2024-06-27 13:47:14 · 5 阅读 · 0 评论 -
FILETIME SYSTEMTIME tm time_t
WINDOWS FILETIME SYSTEMTIME tm time_t各种时间互转转载 2024-06-27 13:43:24 · 8 阅读 · 0 评论 -
windows消息响应机制之一:消息分析器
windows消息响应机制之一:消息分析器转载 2023-11-28 10:30:20 · 151 阅读 · 0 评论 -
深入解析Windows窗口创建和消息分发
Windows GUI采用基于事件驱动的编程模型,事实上几乎所有的界面库都是这样做的。在纯粹的Window32 SDK编程时代,人们还可以搞懂整个Windows窗体创建和消息的流通过程,但是在现在各种框架的包装下很多在Window32 SDK下很明显易懂的东西显得不是那么简单了。本文力图去繁求简,教你看懂所有框架的基本构造,而事实上对于了解这一切的人来说,这些界面框架的设计都是如出一辙的,希望看完本文,再去看常见的MFC/WTL等框架时,不会再觉得有任何的不适。先说古老的Win32 SDK的做法,他们很明显转载 2023-11-28 10:14:37 · 186 阅读 · 0 评论 -
映像劫持技术
映像劫持技术转载 2023-04-28 16:00:21 · 671 阅读 · 0 评论 -
perror()函数的使用
perror() 调试系统接口调用,错误结果的神接口转载 2023-02-10 20:13:59 · 1333 阅读 · 0 评论 -
getenv(“TEMP“)
getenv and getenv("TEMP")原创 2023-01-30 10:41:21 · 210 阅读 · 0 评论 -
C++string字符串split的6种方法
C++string字符串split的6种方法转载 2023-01-18 09:08:26 · 6359 阅读 · 0 评论 -
c++ 判断文件是否存在的几种方法
c++ 判断文件是否存在的几种方法转载 2023-01-18 09:07:13 · 5977 阅读 · 1 评论 -
在Dll中创建线程?No,大错特错
在Dll中创建线程?No,大错特错,容易死锁转载 2022-12-19 16:29:41 · 1003 阅读 · 1 评论 -
WinHex使用方法详解
WinHex使用方法详解原创 2022-11-22 18:05:19 · 29666 阅读 · 1 评论 -
C++ MFC 关于SelectObject,解释
C++ MFC 关于SelectObject,解释转载 2022-10-16 18:10:16 · 537 阅读 · 0 评论 -
HICON与HBITMAP相互转换
HICON与HBITMAP相互转换 MFc转载 2022-10-16 18:09:08 · 437 阅读 · 0 评论 -
BitBlt C++中BitBlt如何使用详解
MFC BitBlt C++中BitBlt如何使用详解转载 2022-10-16 18:07:36 · 336 阅读 · 0 评论 -
如何用MsiZap.exe 卸载软件
如何用MsiZap.exe 卸载软件转载 2022-10-14 14:46:28 · 295 阅读 · 0 评论 -
windows比cmd更强大的 WMIC命令使用详解
windows比cmd更强大的 WMIC命令使用详解转载 2022-10-14 14:44:57 · 5483 阅读 · 0 评论 -
Win内存分配函数(GlobalAlloc/HeapAlloc/LocalAlloc/VirtualAlloc)
Win内存分配函数(GlobalAlloc/HeapAlloc/LocalAlloc/VirtualAlloc)转载 2022-07-12 17:39:27 · 1541 阅读 · 0 评论 -
拨开字符编码的迷雾--字符编码概述
转载自:https://www.cnblogs.com/jiangxueqiao/p/7446229.html拨开字符编码的迷雾--字符编码概述转载 2022-06-29 17:44:59 · 116 阅读 · 0 评论 -
windows10下的堆结构及unlink分析
最近调试windows下堆的cve的时候发现对windows下的堆管理理解不够,对javascript堆分配和利用基础不够,由于windows下没有源码可以看,只能通过网上的博客和调试器自己学习。windows堆管理在不断更新,博客内容会有所偏差,接下来的笔记是windows10上的堆结构。函数声明等来源为百度百科。HeapCreate这个函数创建一个只有调用进程才能访问的私有堆。进程从虚拟地址空间里保留出一个连续的块,并且为这个块特定的初始部分分配物理空间。HANDLE HeapCreate(DWORD转载 2022-06-10 15:29:27 · 521 阅读 · 0 评论 -
Vc2015 utf8 格式出错
用Vc2015新建一个项目,如下添加一行中文注释。然后将这个文件改为utf8无BOM格式,再转换行结束符为Unix格式。#include "stdafx.h"// 读出错测试int main(){ return 0;}Vc2015编译就会出错。1>------ 已启动生成: 项目: ConsoleApplication3, 配置: Debug Win32 ------1> ConsoleApplication3.cpp1>e:\temp\consoleapplicatio转载 2022-06-06 17:36:46 · 165 阅读 · 0 评论 -
lib静态库逆向分析
当我们要分析一个lib库里的代码时,首先需要判断这是一个静态库还是一个导入库。库类型判断lib文件其实是一个压缩文件。我们可以直接使用7z打开lib文件,以查看里面的内容。如果里面的内容是obj文件,表明是静态库。如果里面的内容是dll文件,表明是导入库。导入库里面是不包含代码的,代码包含在对应的dll文件中。从lib中提取obj静态库是一个或者多个obj文件的打包,这里有两个方法从中提取obj:Microsoft 库管理器7z解压Microsoft 库管理器(lib.exe)Microsoft转载 2022-06-03 16:27:22 · 3637 阅读 · 0 评论 -
解析静态库(Lib)文件,提取出所有函数信息,组织成自定义格式文件
目的:确定函数SIZE的方案还不够严谨,望牛人指教标准:《Microsoft可移植可执行文件和通用目标文件格式文件规范》,简称《PE COFF文件规范》注意:这里的LIB指的是静态库,要和编写DLL所生成的lib区别开来 《PE COFF文件规范》 中称静态库格式为: 档案(库)文件格式,在WinNT.h中称Archive format. 《PE COFF文件规范》 中称另一种Lib为: 导入库格式-是描述由一个映像导出供其它映像使用的符号的库具体思路: 1.解析静态库(Lib)文件,提取出其中的原创 2022-06-03 16:24:37 · 1740 阅读 · 0 评论 -
DOS CMD 设置环境变量
#查看所有环境变量set #查看用户环境变量set path#临时设置用户环境变量 只在当前cmd窗口有效set path=D:\node\ #永久设置用户环境变量setx path "D:\node\"#以上设置环境变量会直接清除所有用户环境变量后设置指定值#可以添加 %PATH% 来达到追加的作用set path=%path%;D:\node\setx path "%path%;D:\node\" # setx设置追加变量需要引号引起来 ###set 和 setx默认.原创 2022-05-07 21:25:21 · 1585 阅读 · 0 评论 -
医学图像——DCMTK、VTK、ITK、RTK、SimpleITK
1.ITK-医学图像处理软件包ITK( Insight Segmentation and Registration Toolkit)是美国国家卫生院下属的国立医学图书馆开发的一款医学图像处理软件包,是一个开源的、跨平台的影像分析扩展软件工具。ITK的开发过程中采用了先进的多模态数据分割配准算法,用于处理图像配准和分割的问题。 ITK是用C++实现的,能够跨平台,并用CMake来管理编译过程来保证编译过程独立于平台。除此以外,它还使用一种叫做卷的处理过程,来产生C++和 其他其他解释程序之间的接口,从转载 2022-04-08 11:13:47 · 1988 阅读 · 0 评论 -
OLe复合文档介绍
/结构化存储和OLE对象/1 引言目前,传统的二层C/S(Client/Server)结构应用软件已发展为多层结构的分布式应用系统[2]。为了改善系统的工作效率以及提高系统的伸缩性,很多软件开发人员都把服务器上的一些基本数据分发到各个客户机上。这种工作模式的优点是显著的,因为它减少了那些非实时数据(如员工表、产品数据表等)在网络上的流动,并且在网络瘫痪时,各个客户机仍然可以维持部分的工作。同时,这种模式需要定时在客户机与服务器之间进行数据更新,为了更有效地进行数据更新,我们设想在客户机上创建类转载 2022-03-31 11:09:52 · 2712 阅读 · 1 评论 -
Windows Installer XML,wxs文件概述
在讲windows installer xml 描述文件之前, 首先讲讲Windows Installer(以前是Microsoft installer 所以有简写MSI,后来改名Windows Installer, 但仍然使用使用大家熟悉的msi后缀)。Windows Installer改变了软件安装的方式,以前的大多数的安装软件所做的仅仅是拷贝文件和写注册表,而通常不会去关心系统是否已经装有什么。Windows Installer 把软件分成“Product”(比如像Office这样的软件),.转载 2022-03-29 10:53:02 · 779 阅读 · 0 评论 -
使用WIX Toolset 将整个文件夹打包成一个Windows安装程序
需求:项目编译好的Windows exe程序、dll以及其他的资源文件,在一个项目文件夹中,需要打包成一个安装程序; 包含多个文件和嵌套的文件夹; 用包含logo的图片,替换安装程序窗体的默认背景; 安装后,生成桌面快捷方式;工具: WIX Toolset -WiX Toolset实现过程:利用工具中的heat.exe将整个文件夹导出为temp.wxs文件,注意选择componentgroup -cg选项heat.exe dir "Your_Project_Path" -...转载 2022-03-29 09:19:41 · 1084 阅读 · 1 评论 -
WINDOWS核心编程——DLL基础和实操
与将所有的指令通过链接器在生成exe的时候都链接在一起并安排好各个指令的位置不同,windows还提供了动态链接(DLL)技术。一般情况下我们会处于以下原因采用DLL技术:1.扩展了应用程序的特性。DLL可以被动态地载入到进程的地址空间中。2.简化了项目管理,可以让不同的开发团队管理不同的模块。3.有助于节省内存。一个dll可被多个程序共享。多个程序调用同一个dll内的同一个函数时,系统却只需将该dll加载一次。4.促进资源共享。5.促进了本地化。可以使应用程序只包含代码但不包含用户界面组件。转载 2022-03-21 10:50:13 · 1325 阅读 · 2 评论 -
全面深入学习OLE技术
全面深入学习OLE技术引言(问题的提出)1.如何将同步软件的联系人/日历/任务/邮件等信息导入到微软的OutLook软件中为了解决此问题,就需要用到微软的OLE技术。涉及相关技术有:OLE,OLE Automation,ActiveX,COM等技术。本文企图就这些技术讲解其背景,其历史,其发展变革,其相互关系。一.OLE技术是什么?OLE是Object Link Embeded此三个单词的缩写。对象的链接和嵌入二.OLE技术出现的历史背景:为了使得那些没有太多专业知识的用户能转载 2022-03-16 17:33:11 · 5110 阅读 · 0 评论 -
TLS--线程局部存储
概念:线程局部存储(Thread Local Storage,TLS)用来将数据与一个正在执行的指定线程关联起来。进程中的全局变量与函数内定义的静态(static)变量,是各个线程都可以访问的共享变量。在一个线程修改的内存内容,对所有线程都生效。这是一个优点也是一个缺点。说它是优点,线程的数据交换变得非常快捷。说它是缺点,一个线程死掉了,其它线程也性命不保;多个线程访问共享数据,需要昂贵的同步开销,也容易造成同步相关的BUG。 如果需要在一个线程内部的各个函数调用都能访问、但其它线程不能访问的变.转载 2022-03-16 09:29:46 · 741 阅读 · 0 评论 -
线程局部存储(TLS)
线程局部存储,Part 1:概述和其它主流多线程操作系统一样,Windows为大家提供一个机制,该机制允许程序员实现基于线程的局部状态存储。这种能力通常称为线程局部存储(Thread Local Storage,TLS),这对于那些需要保存线程相关信息但需要全局可见的应用场景非常有用。尽管TLS的介绍有很好的文档可参考,但关于其实现细节的介绍并不多(尽管也有一些非官方文档进行比较表面的介绍)。至少从高层来将,TLS在概念上并不复杂。常规设计是将所有对TLS的访问都通过TEB中的指针来进行间接访问转载 2022-03-09 16:29:53 · 2158 阅读 · 0 评论 -
汇编总结:lea指令
ea指令变种(按大小分类):leaw#2个字节leal#4个字节leaq#8个字节lea的用法:leaqa(b,c,d),%rax首先lea指令是mov指令的变种,据说,lea指令是x86体系结构中,是一条最古老但是从某个方面来讲又是最神奇的指令。表面上看,它做的事情非常简单,根据括号里的源操作数来计算地址,然后把地址加载到目标寄存器中。例如:leaq a(b, c, d), %rax 先计算地址a + b + c * d,然后把最终地址载到寄存器rax中。...转载 2022-03-05 08:59:09 · 14306 阅读 · 3 评论 -
AT&T语法和Intel语法x86汇编的区别
AT&T语法和Intel语法x86汇编的区别<转自北风北的猪> x86汇编一直存在两种不同的语法,intel语法和AT&T语法,在intel的官方文档中使用intel语法,Windows也使用intel语法,而UNIX平台的汇编器一直使用AT&T语法。 linux下,x86汇编AT&T语法用GAS编译,Intel语法用NASM编译。 AT&T和Intel语法没有好坏之分,只是语法有差异而已。 GAS的语法主要有: .转载 2022-03-03 10:28:40 · 646 阅读 · 1 评论 -
Windwos中system、System32、SysWOW64区别
system:存放16位的系统文件;windows x86和x64皆存在System32:在windows x86中存放32位的系统文件;在windwos x64中存放64位的系统文件SysWOW64:目前仅存在与windows x64中,存放32位系统文件,与system、System32共存。这是为了windows x64的兼容性,因此x64中SysWOW64存储32位的系统文件,System32存储64位的系统文件,system存储16位系统文件...原创 2022-03-02 15:03:44 · 2022 阅读 · 0 评论