Fzuim的博客

不忘初心,方得始终。

排序:
默认
按更新时间
按访问量

【设计模式】图说设计模式

http://design-patterns.readthedocs.io/zh_CN/latest/index.html

2018-08-14 09:18:21

阅读数:7

评论数:0

【Inline Hook应用篇】限制打开文件选择对话框

我们要实现限制程序不允许发送文件,可以通过限制“文件选择对话框”实现。对于文件选择对话框的限制,基础点的就是Hook:GetOpenFileName、SHBrowseForFolder,对这两个API的Hook,可以限制市面上80%的文件发送,但对于QQ之类的在XP系统以上就不能成功限制了。具体...

2018-07-31 19:06:31

阅读数:15

评论数:0

【Inline Hook应用篇】限制剪切板(针对文件类型)

限制剪切板,主要是限制不允许粘贴。我们对这两个系统API进行挂钩: GetClipboardData和OleGetClipboard //!<限制剪切板 InitHook("user32.dll", "GetC...

2018-07-31 13:50:18

阅读数:12

评论数:0

【Inline Hook基础篇】挂钩系统API

对于怎么挂钩系统API的实现,网上对此的解释有很多也很详细。这边暂不进行长篇大论,就简单的说明下原理:修改系统API的前几个字节,并写入 JMP 0x15a123 汇编指令,实现调用系统API自动跳转到我们的API的过程。 对于API HOOK的实现,现成的有MHOOK、DETOUR等类似的框架...

2018-07-31 13:40:03

阅读数:23

评论数:0

【Inline Hook基础篇】框架搭建

Windows程序员对于HOOK技术应该都很熟悉,HOOK俗称:钩子。即将自己想实现的功能,挂钩到系统的函数上,达到调用系统的函数时能自动执行我们实现的功能。 对于HOOK,也分为:消息钩子,API钩子,内核钩子。消息钩子和API钩子都是在应用层(Ring3)上实现,内核钩子则是在内核层(Ri...

2018-07-31 10:27:52

阅读数:19

评论数:0

【工具类】ZwQuerySystemInformation枚举进程

曾经基于兴趣搞过很多小功能,但后来工作中比较少用到,代码也就安静的沉没在磁盘中。最近打算整理下之前弄过的东西,也不算荒废之前的付出吧。。。 void InitProcessList() { ZWQUERYSYSSTEMINFORMATION MyZwQuerySystemInformat...

2018-07-25 09:51:06

阅读数:17

评论数:0

【编程笔记】不同模块不同的堆

在linux下,每个进程只有一个heap,在任何一个动态库模块so中通过new或者malloc来分配内存的时候都是从这个唯一的heap中分配的,那么自然你在其它随便什么地方都可以释放。这个模型是简单的。 但是在windows下面,问题变得复杂了。 1、windows允许一个进程中有多个heap...

2018-07-17 15:31:51

阅读数:52

评论数:0

【工具类】C++花式字符串操作

分割字符串 void Separate(const wstring& src, const wstring& strSet, vector<wstring>&...

2018-07-06 14:03:23

阅读数:26

评论数:0

【编程笔记】随笔_20180619

经过了大半个月的忙碌,总算有了几天相对清闲的时间。之前大半个月基本上,天天在赶项目,一个接一个。虽然难度不大,但是也很烦,毕竟想要找个时间好好整理下思绪,5月末的时候,上头下了个死命令:最后4天,立马搞出个WebService服务,提供给以后项目做同步信息用。。。当初接到时候,内心还是有点小波澜...

2018-06-19 14:53:16

阅读数:35

评论数:0

【编程笔记】extern “C”和.def文件和__stdcall和__cdcel的作用

动态链接库的使用有两种方式,一种是显式调用。一种是隐式调用。 (1) 显式调用:使用LoadLibrary载入动态链接库、使用GetProcAddress获取某函数地址。 (2) 隐式调用:可以使用#pragma comment(lib, “XX.lib”)的方式,也可...

2018-04-04 09:52:01

阅读数:103

评论数:0

【工具类】格式化打印信息

#pragma once #include <Windows.h> void odprintf(PCWSTR format, ...) { va_list args; va_start(args, format); ...

2018-03-21 10:24:27

阅读数:47

评论数:0

【MFC编程】屏幕截图,并保存成文件

获取屏幕位图代码: HBITMAP CScreenShotDlg::GetScreenBitmap() { HDC hSrcDc; HDC hMemDc; HBITMAP hBitmap; HBITMAP hOldBitmap; int nWidth...

2018-03-15 15:49:40

阅读数:74

评论数:0

【编程笔记】虚函数表

如果一个C++类中包含有虚函数,C++编译器在进行编译时,会通过动态联编机制,为这个类生成一个“虚函数表”。 我们通常把所有的方法都是纯虚函数的类,叫做:接口类。 class BasicTable { public: virtual void Function1() = 0; ...

2018-03-12 16:54:07

阅读数:59

评论数:0

【设计模式】单例模式之类模板实现

/* * Copyright (c) 2018,Fzuim * All rights reserved. * * 文件名称:SingletonObj.h * 摘 要: 单例模式,使用类模板 * 用法示例 DECLARE_SINGLETON(CDestObject); * * 当前版本:1.0 ...

2018-03-08 13:28:45

阅读数:157

评论数:0

【设计模式】单例模式之线程类

好记性,不如烂笔头。对于单例模式的理解和应用还是需要多多实践,这次有感而发,写份基于线程运行的单例模式。 单例模式该怎样去实现:构造函数声明为private或protect防止被外部函数实例化,内部保存一个private static的类指针保存唯一的实例,实例的动作由一个public的类方法代...

2018-03-08 09:57:56

阅读数:55

评论数:0

Win32平台下OpenSSL编写SSL,TLS程序

一、简介: SSL(Secure Socket Layer)是netscape公司提出的主要用于web的安全通信标准,分为2.0版和3.0版.TLS(Transport Layer Security)是IETF的TLS 工作组在SSL3.0基础之上提出的安全通信标准,目前版本是1.0,即RFC2...

2018-02-08 16:53:28

阅读数:43

评论数:0

【开源项目】FileZilla源码自带线程封装

#if !defined(AFX_THREAD_H__67621B15_8724_4B5D_9343_7667075C89F2__INCLUDED_) #define AFX_THREAD_H__67621B15_8724_4B5D_9343_7667075C89F2__INCLUDED_ #i...

2018-02-02 13:51:26

阅读数:135

评论数:0

【开源项目】POCO线程类分析

最简单的Poco线程调用方式: Thread thread; MyRunnable r; thread.start(r); 关注的重点,就是MyRunnable:线程的运行体。 class MyRunnable: public Runnable { public: MyRunnable()...

2017-12-04 14:00:56

阅读数:69

评论数:0

【开源项目】POCO线程池分析

一、接口 ThreadPool(int minCapacity = 2, int maxCapacity = 16, int idleTime = 60, int stackSize = POCO_THREAD_STACK_SIZE); ...

2017-12-01 11:14:04

阅读数:579

评论数:0

【开源项目】微信后台PhxRPC编译教程

一、简介 PhxRPC是微信后台团队推出的一个非常简洁小巧的RPC框架,编译生成的库只有450K。 二、环境 首先,这份代码的编译得需在Linux的环境下,并检查下是否安装了git工具(命令行输入git,系统就会告诉你是否安装,并且提示你怎么安装)。环境确认无误。 三、获取...

2017-11-30 19:15:23

阅读数:78

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭