- 博客(19)
- 资源 (4)
- 收藏
- 关注
原创 thrift在windows上编译
目录thrift在windows上编译(保姆级教程)遇坑记录(共勉(ง •_•)ง)(不想看那么多的同学直接看这)保姆级教程 thrift在windows上编译(保姆级教程) Thrift是一个轻量级的,与语言无关的软件堆栈,具有用于RPC的相关代码生成机制。Thrift为数据传输,数据序列化和应用程序级处理提供了干净的抽象。Thrift最初由Facebook开发,现在作为Apache项目开源。Apache Thrift是一组代码生成工具,允许开发人员通过在简单的定义文件中定义数据类型和服务接口来构
2021-03-18 08:24:50
959
转载 (转载)浅析Windows安全相关的一些概念
具体查看具体查看http://www.cppblog.com/weiym/archive/2013/08/25/202751.html
2021-03-09 17:15:06
134
原创 Windows高权限程序以低权限启动子进程
Windows高权限程序以低权限启动子进程 windows中父进程为高权限如何以低权限启动子进程,在本文中给出一种方法,供读者参考。实现思路:再任务管理其中找到一个低权限的程序,一般explorer.exe是以当前用户普通权限启动。我们这里使用explorer.exe为例。首先需要根据程序名获取explorer.exe的token,并根据这个token利用DuplicateTokenEx函数复制一个新的token用于创建新的子进程。利用这个token创建新的环境变量。然后利用新的token和环.
2021-03-08 23:17:42
926
原创 在Windows上编译FreeRDP
在Windows上编译FreeRDP FreeRDP是RDP协议的一个开源实现,像mstsc远程桌面也是RDP协议的一个实现微软把它预装在Windows系统中。今天我们就讲下如何在Windows下编译FreeRDP。编译前准备安装vs2019 (用vs2013以上的版本都行)安装CMake(生成.sln解决方案文件)下载FreeRDP源码下载libusb安装openssl安装vs2019下载链接下载完成后自行安装,网上教程很多这里就不展开了。安装CMake下载地址下载FreeRDP.
2021-03-02 23:56:46
1641
原创 不用ATL框架纯手工实现COM进程外回调
不用ATL框架纯手工实现COM进程外回调 COM全称为(Component Object Model)组件对象模型。COM是由Microcsoft提出的组件标准,它定义了组件程序之间进行交互的标准。COM组件可分为进程内组件和进程外组件。本编文章主要讲述进程外组件的回调实现。COM进程外组件模型COM进程外组件是以独立进程的形式向客户提供对象服务的,客户调用组件程序提供的服务,必然要跨进程调用。在COM中这是通过代理存根来实现的。客户进程调用COM进程外组件的过程主要为以下6步:客户进程调.
2020-12-20 22:36:29
932
原创 I/O 完成端口实现
I/O 完成端口实现这篇文章是继承上篇《Windows 同步设备 I/O 与异步设备 I/O》,未读过的读者可以去看看再来看这篇文章哈。I/O完成端口接口封装创建新的I/O完成端口I/O完成可能是最复杂的windows内核对象了,为了创建一个I/O完成端口我们需要调用CreateIoCompletionPort函数:HANDLE WINAPI CreateIoCompletionPort( _In_ HANDLE FileHandle, _In_opt_ HANDLE
2020-12-13 17:49:08
292
原创 Windows同步设备I/O与异步设备I/O
Windows同步设备I/O与异步设备I/O 总体介绍Windows中打开文件或者设备都可以使用CreateFile函数,Windows系统为我们封装了底层设备IO的细节让我们可以像操作文件一样操作串口并口等设备。当我们从设备中读取或写入数据时,我们需要等待I/O设备处理完毕后才能进行下一次的读写。但是I/O设备的处理是非常耗时的。如果我们一直等待I/O设备,那程序的性能是非常糟糕的。我们希望系统在处理I/O事务时我们的程序能够继续运行执行其他任务。一种简单的方法是用多线程的方法,但是这种方案效率不.
2020-11-29 23:57:31
287
原创 Windows DLL 注入技术
Windows DLL 注入技术本文主要介绍四种常见的 Windows DLL 注入技术。分别为全局钩子、远线程钩子、突破 SESSION 0 隔离的远线程注入和 APC 注入。全局钩子注入Windows 中大部分应用是基于 Windows 的消息机制,Windows提供截获这些消息的钩子函数。根据钩子作用的不同范围,钩子可以被分为全局和局部钩子。局部钩子是针对某个线程的,全局钩子是只要有使用消息机制的应用。接下来我们主要来看下利用SetWindowsHookEx实现全局钩子。SetWind
2020-11-15 17:14:42
1027
原创 使用VMware启动centos6.6并使用Qume+kvm虚拟化linux和windows虚机
使用VMware启动并使用Qume+kvm虚拟化linux和windows虚机在网上下载VMware安装,这里就不介绍可自行网上搜索有很多教程。下载centos6.6 这里我选用 “64位(x86 64)系统映像bin-DVD版” 。要想centos支持虚拟化需要在VMware处理器中开启虚拟化支持,如下图所示:检测CPU是否支持虚拟化 egrep -c '(vmx|svm)' /proc/cpuinfo命令结果大于0说明CPU支持虚拟化关闭防火墙services iptables stop
2020-07-26 14:18:07
422
原创 spice vdagent cmake使用
spice vdagent cmake使用近期开发spice vd_agent发现开源库已经将visual studio .sln项目文件删除。故需要使用cmake生成 .sln文件。在此记录下编译步骤:1. 下载cmake程序cmake下载地址 根据不同操作系统下载对应版本 2. CMakeLists.txt 进行修改,以下为修改后文件cmake_minimum_required(V...
2020-01-09 19:58:40
796
原创 c++杂记
#pragma warning(push) 保存当前的编译器警告状态;#pragma warning(pop) 恢复原先的警告状态。#pragma pack() 恢复之前的对齐方式#pragma pack(push) 保存之前的对齐方式#pragma pack(pop) 恢复之前的对齐方式#pragma pack(1) 一字节对齐方式 ...
2019-12-23 18:45:31
99
原创 vistual studio 配置驱动开发环境
vistual studio 配置驱动开发环境、vs2013 下载wdk8.1 安装完重启vs vs上方出现DRIVER选项vs2019 按官方文档提示配置msdn vs2019 驱动下载
2019-12-20 11:55:11
188
原创 bat 设置环境变量启动vs
bat 设置环境变量启动vsSET WORKDIR=D:\aaa\aaa\trunkSET BOOST_ROOT=%WORKDIR%\aaa\boost_1_67_0SET XXX_TOOL_LIB=%WORKDIR%\LibSET YYY_INCLUDE=%WORKDIR%\Library\aaa\includeSET YYY_LIB=%WORKDIR%\Library\aaa\lib...
2019-12-19 19:57:54
949
原创 #4D工作坊
4D工作坊直觉情感 表达真诚的欣赏和感激 着眼共同利益知觉情感 适度的包括包容他人 信守所有协定直觉逻辑 表达直面现实的乐观,百分百投入知觉逻辑 避免指着和抱怨 理清角、责、权阅读链接...
2019-05-23 23:06:08
176
原创 powerdesign使用
使用powerdesign打开pdm时,一直卡住可能是因为电脑的默认打印机不是本地XPS的。解决方案将默认打印机修改为XPS
2018-10-23 16:43:18
436
原创 effective c++
effective c++explicit A(int x);explicit 可以阻止隐式类型转换条款 02 尽量以const, enum, inline替换 #define1、 取一个const 常量的地址是合法的但取一个enum 的地址是不合法的2、 对于单纯的常量最好以const对象和enum替换#define3、 对于形式函数的宏,最好改用inline函数替换#d...
2018-06-29 12:43:23
206
原创 C++标准库总结
C++标准库总结算法:accumulate 在 #include <numeric> 中,accumulate 作用是对一对表示范围的迭代器中的元素进行相加。如:accumulate(v.begin(), v.end(), 0);表示将v中的元素以0为初始值进行相加。第三个参数表示‘+’的类型。注意:accumulate(vs.begin(), vs.end(), ""); 错误!因为""
2017-12-21 15:15:23
213
原创 boost 使用总结
boost 使用总结boost::bind()使用总结1. boost::bind(&func, _1, _2, ..., _9); 1)第一个参数为函数的地址,_1, _2, ..., _9 为占位符。 2)_1, _2, ..., _9 为func的参数最多可以有九个。 3)特别注意如果func为成员函数需要占一个位置给this
2017-12-19 13:55:54
248
pnglib 项目文件对开源png项目做了整理 添加zlib文件
2020-01-09
drivermonitorANDdebugview.zip
2019-12-23
plsqldev1207x64软件和注册码
2018-10-25
xshell and ftp 软件
2018-10-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人