随笔分类 -  Windows编程

摘要:最近在参考OpenShell为任务栏设置图片背景时,发现里面使用了IAT Hook,这一块没有接触过,去查资料的时候发现IAT Hook需要对PE文件结构有一定的了解,索性将PE文件结构的资料找出来,系统学习一下。 PE文件结构 Portable Executable (PE),可移植的可执行文件。 阅读全文
posted @ 2024-05-13 16:11 zhaotianff 阅读(130) 评论(0) 推荐(0) 编辑
摘要:参考链接: https://www.cnblogs.com/LyShark/p/11766620.html https://www.ired.team/offensive-security/code-injection-process-injection/import-adress-table-ia 阅读全文
posted @ 2024-05-10 16:42 zhaotianff 阅读(15) 评论(0) 推荐(0) 编辑
摘要:最近在使用某桌面美化软件时,发现里面有个任务栏设置的功能,效果还不错 我试了前面为资源管理器设置背景的方法,发现不生效。 大意的反编译了一下该软件的各种dll,但是也没找到具体的实现方法(因为目前对逆向还不是很熟) 在搜索引擎搜索时,找到了OpenShell这个软件,发现里面也实现了这个功能,刚好这 阅读全文
posted @ 2024-04-28 16:52 zhaotianff 阅读(13) 评论(0) 推荐(0) 编辑
摘要:Windows设备 在Windows平台下,设备被定义为能够与之进行通信的任何东西。最常见的 I/O 设备包括:文件、文件流、目录、物理磁盘、卷、控制台缓冲区、磁带驱动器、通信资源、mailslot 和管道等。 平常我们使用的文件,目录都可以称之为设备。 本文是介绍设备的通用操作,以文件操作进行演示 阅读全文
posted @ 2024-04-24 22:52 zhaotianff 阅读(32) 评论(0) 推荐(0) 编辑
摘要:偶然的机会,在github上发现了一个有趣且优秀的项目,https://github.com/Maplespe/explorerTool。 这里学习了一下,并顺带学习了一下涉及的相关知识点。不得不感叹作者的厉害之处,能想到这种方法。 主要实现原理: 1、创建一个DLL,通过远线程注入的方式,注入资源 阅读全文
posted @ 2024-04-22 23:14 zhaotianff 阅读(60) 评论(0) 推荐(0) 编辑
摘要:最近在做一个资源管理器背景工具,将模块注入后,需要跟模块进行通信,意向传递一些信息。 一开始想到的是使用共享内存,但是无法进行实时通知。 匿名管道的话需要传入句柄字符串,也不太适用这里的场景。 使用Mailslots可以间隔的去取消息,刚好可以实现这个需求。不同于消息队列的时,没取到消息时,不会阻塞 阅读全文
posted @ 2024-04-19 16:15 zhaotianff 阅读(43) 评论(0) 推荐(0) 编辑
摘要:通过函数BeginPaint画图 1、创建一个Windows桌面应用程序 2、找到WM_PAINT消息的处理函数,添加代码如下: 1 case WM_PAINT: 2 { 3 PAINTSTRUCT ps; 4 HDC hdc = BeginPaint(hWnd, &ps); 5 TextOut(h 阅读全文
posted @ 2024-04-08 10:45 zhaotianff 阅读(36) 评论(0) 推荐(0) 编辑
摘要:前言 很早以前在github上看到的一个项目,通过hook WindowsAPI函数FillRect,对资源管理器背景进行了重绘。 项目地址如下: https://github.com/Maplespe/explorerTool 我第一次见到的时候,觉得这个项目还是非常吸引我,因为从XP过后,我再也 阅读全文
posted @ 2024-04-01 17:16 zhaotianff 阅读(131) 评论(0) 推荐(0) 编辑
摘要:在应用层下,进程遍历有多种方式,这里介绍几种常用的方式:进程快照、NtQuerySystemInformation、EnumProcesses函数、WMI等。 在C#中Process类提供了一个GetProcesses()函数,这个函数内部就是调用的NtQuerySystemInformation进 阅读全文
posted @ 2024-03-20 17:41 zhaotianff 阅读(239) 评论(0) 推荐(0) 编辑
摘要:有前面的文章中,我介绍了一个Windows API的监控工具(API Monitor)的使用。它内部就是使用了Hook机制,能Hook Windows API,能在我们钩选的API函数被调用时,进入中断。 这里我们借助github上一个库来自己实现一下类似API Monitor的功能。 MinHoo 阅读全文
posted @ 2024-03-14 16:20 zhaotianff 阅读(190) 评论(0) 推荐(0) 编辑
摘要:远线程注入 远线程(RemoteThread)注入是指一个进程在另一个进程中创建线程的技术,这是一种很经典的DLL注入技术。 虽然比较古老,但是很实用。通过远线程注入,再配合api函数的hook技术,可以实现很多有意思的功能。 实现远线程注入的关键函数 OpenProcess 打开现有的本地进程,函 阅读全文
posted @ 2024-03-13 12:04 zhaotianff 阅读(72) 评论(0) 推荐(0) 编辑
摘要:最近无意间发现Windows里一个神奇的文件夹。 shell:appsfolder 运行打开 这个文件夹后,你可以看到本机安装的所有应用程序。 我觉得这个挺方便的,所以做了一个简单的appFolderDialog包给C#用 项目地址:https://github.com/TianXiaTech/Ap 阅读全文
posted @ 2024-01-08 21:46 zhaotianff 阅读(96) 评论(0) 推荐(0) 编辑
摘要:遇到的问题 以前在学校的时候做过一个类似Bridge的图片浏览器,当时就对系统的文件树进行了显示。后面就没有涉及这一块的开发了。 最近想做一个文件夹大小统计的功能,在使用C#对文件进行遍历时,发现许多文件夹都会报System.UnauthorizedAccessException的错误。 最开始我是 阅读全文
posted @ 2024-01-04 16:25 zhaotianff 阅读(48) 评论(0) 推荐(0) 编辑
摘要:最近在做虚拟打印机时,需要实时监控打印文件的到达,并移动文件到另外的位置。一开始我使用了线程,在线程里去检测新文件的到达。实际上Windows提供了一个文件监控接口函数ReadDIrectoryChangesW。这个函数可以对所有文件操作进行监控。 ReadDirectoryChangesW 函数声 阅读全文
posted @ 2023-05-31 17:18 zhaotianff 阅读(1704) 评论(0) 推荐(0) 编辑
摘要:最近有个需求需要对报告打印进行统一的管理,最终实现方案如下: 1、安装Microsoft Print To PDF虚拟打印机,该打印机可以将所有打印数据转换为PDF 2、通过Microsoft Print To PDF虚拟机参数复制一台新的虚拟打印机 3、创建打印输出端口,指定输出路径 4、设置新虚 阅读全文
posted @ 2023-03-30 09:45 zhaotianff 阅读(618) 评论(0) 推荐(0) 编辑
摘要:在以前经常可以见到教大家调整虚拟内存的文章,因为那个时候的硬件配置还没有像现在这么好。 什么是虚拟内存: 虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要 阅读全文
posted @ 2023-01-07 13:45 zhaotianff 阅读(579) 评论(0) 推荐(0) 编辑
摘要:使用WaitForSingleObject函数,可以判断进程是否退出。 WaitForSingleObject函数的作用是:等待直到指定的对象处于信号状态(通知状态)或到达指定的等待时间(超时时间)。 函数声明如下: 1 DWORD WaitForSingleObject( 2 [in] HANDL 阅读全文
posted @ 2022-02-13 21:13 zhaotianff 阅读(2364) 评论(0) 推荐(0) 编辑
摘要:平常我们在C#中使用DllImportAttribute引入函数时,不指明函数调用约定(CallingConvention)这个参数,也可以正常调用。如FindWindow函数 [DllImport("user32.dll", EntryPoint="FindWindow", SetLastErro 阅读全文
posted @ 2021-09-05 12:02 zhaotianff 阅读(540) 评论(0) 推荐(1) 编辑
摘要:在上一篇文章(https://www.cnblogs.com/zhaotianff/p/10797057.html)中介绍了如何对全局函数进行导出, 这篇文章再补充一下如何导出变量、类及DllMain函数的介绍 导出变量 说明: 1、这里的变量指的是全局变量或类静态变量 2、当导出一个变量或类时,载 阅读全文
posted @ 2021-08-14 22:47 zhaotianff 阅读(934) 评论(0) 推荐(0) 编辑
摘要:WMI介绍 Windows Management Instrumentation (WMI) 是基于 Windows 的操作系统上管理数据和操作的基础结构。 用户可以使用 WMI 管理本地和远程计算机。 WMI是Windows操作系统的功能,默认情况下,无须安装就可以使用。某些Provider(提供 阅读全文
posted @ 2021-05-13 15:30 zhaotianff 阅读(2319) 评论(0) 推荐(0) 编辑