摘要: 通过函数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 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 前言 很早以前在github上看到的一个项目,通过hook WindowsAPI函数FillRect,对资源管理器背景进行了重绘。 项目地址如下: https://github.com/Maplespe/explorerTool 我第一次见到的时候,觉得这个项目还是非常吸引我,因为从XP过后,我再也 阅读全文
posted @ 2024-04-01 17:16 zhaotianff 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 这种在实际使用中应该很难碰到,我最近刚好遇上这样一个问题。 因为公司的打包服务器需要代码提交,才会自动进行打包,而我又没权限进行手动打包。所以最快的解决办法就是创建一次没有修改的提交。 方法如下: 在进行commit时带上--allow-empty参数即可。 如 1 git commit -m "t 阅读全文
posted @ 2024-03-27 09:38 zhaotianff 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 在应用层下,进程遍历有多种方式,这里介绍几种常用的方式:进程快照、NtQuerySystemInformation、EnumProcesses函数、WMI等。 在C#中Process类提供了一个GetProcesses()函数,这个函数内部就是调用的NtQuerySystemInformation进 阅读全文
posted @ 2024-03-20 17:41 zhaotianff 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 有前面的文章中,我介绍了一个Windows API的监控工具(API Monitor)的使用。它内部就是使用了Hook机制,能Hook Windows API,能在我们钩选的API函数被调用时,进入中断。 这里我们借助github上一个库来自己实现一下类似API Monitor的功能。 MinHoo 阅读全文
posted @ 2024-03-14 16:20 zhaotianff 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 远线程注入 远线程(RemoteThread)注入是指一个进程在另一个进程中创建线程的技术,这是一种很经典的DLL注入技术。 虽然比较古老,但是很实用。通过远线程注入,再配合api函数的hook技术,可以实现很多有意思的功能。 实现远线程注入的关键函数 OpenProcess 打开现有的本地进程,函 阅读全文
posted @ 2024-03-13 12:04 zhaotianff 阅读(9) 评论(0) 推荐(0) 编辑
摘要: git rebase 正文待更新 参考资料: https://blog.screensteps.com/recovering-from-a-disastrous-git-rebase-mistake https://git-scm.com/docs/git-rebase https://blog.c 阅读全文
posted @ 2024-03-12 16:43 zhaotianff 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 今天偶然在看别人代码时,发现在他的代码里使用了Any判断List<T>是否为空。 我一般的做法是先判断是否为null,再判断Count。 看了一下Count的源码如下: 1 [__DynamicallyInvokable] 2 public int Count 3 { 4 [__Dynamicall 阅读全文
posted @ 2024-03-12 14:35 zhaotianff 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 在使用Visual Studio的Pull时,界面会显示Incoming,但是无法合并到本地代码。 直接使用git执行以下命令即可: 1 git pull origin main main就是当前分支的名称 参考资料: https://stackoverflow.com/a/1443232/1086 阅读全文
posted @ 2024-03-11 10:02 zhaotianff 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 使用SVG/Path WPF支持绘图,在WPF中定义了一些基本图形,如Line、Rectangle、Ellipse、Path等 其中Path支持使用路径来进行绘图,所以大部分的图标可以通过Path来进行绘制。 因为本文主要是介绍矢量图标,所以不对绘图进行详细介绍,只介绍一些核心概念 Path的路径标 阅读全文
posted @ 2024-03-08 15:03 zhaotianff 阅读(171) 评论(0) 推荐(0) 编辑