自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

艺术人生的专栏

程序员的那点儿事

  • 博客(16)
  • 资源 (41)
  • 收藏
  • 关注

原创 Windows Practice_Dll&Hook_封装IAT Hook

进程保护器的实现本程序实现了一个简单的暴力的进程保护器,其原理也很简单,就是修改导入表,挂钩TerminateProcess函数,因为这个函数可以远程无条件的结束其它进程,所以我们要挂钩这个函数。 因为每一个程序都有可能结束要保护的程序,所以我们必须以Dll的形式注入到每一个进程中,这就涉及到注入的问题了,而Windows给我们提供了一个简单的全局挂钩的函数,即SetWindowsHook函数。

2017-09-24 12:32:19 396

原创 Windows Practice_Dll&Hook_IAT Hook

PE结构PE结构时Windows中一个比较大的结构体,它的整个结构体图如下所示: 给MessageBoxW函数挂钩我们自己的函数就是我们挂钩之后,调用MessageBoxW函数后,会进入到我们自己的函数中执行我们自己的代码。挂钩还原之后,还可以正常的调用MessageBoxW函数,这就是这个测试程序的功能。// IATHookDemo.cpp : 定义控制台应用程序的入口点。//#includ

2017-09-24 11:30:55 299

原创 Windows Practice_Dll&Hook_Hook是什么?

Hook是什么?Hook能够改变软件的功能,比如添加新功能和修改原功能的执行流程。使用Hook是针对于没有源码的情况下才使用的,如果有源码,就没必要Hook了。Hook是如何改变程序的流程的程序块程序块结构(program block struction)是一种程序结构形式。这种结构将整个程序分为若干个信息快或子程序块,使程序变得清晰,便于阅读和修改。 所以程序中的每一块,都是Hook的一个点。作

2017-09-24 11:06:48 341

原创 Windows Practice_Dll&Hook_消息钩子

DllDll就是我们通常所说的动态链接库(Dynamic Link Library),它和应用程序在本质是没有任何区别的,它也是一个可执行文件,它们都有相同的PE结构。 但是两者在应用上面还是有一些区别的,Dll一般作用exe应用程序的补充体,它是一个模块,用来被exe文件加载。 在Windows中有一部分exe文件也是能够被加载的,比如.oxc后缀的控件格式。为什么大部分应用程序喜欢使Dll?

2017-09-24 10:20:39 370

原创 Windows Practice_文件_文件分割器(三)

两种开发方式瀑布式开发 有需求 -> 分析 -> 建模 -> 编码 -> 维护 所有的类全部是自己设计编码的敏捷开发 需求 -> 编码 -> 重构(建模) -> 编码 需求总是变化的 -> 代码也需要变化 所谓的敏捷开发就是拿着开源项目修改为自己的项目,随着时间的推移,改变的越来越多的内容,最后可能将原来开源项目中的所有内容都改为自己的内容。当前类的性质, 类方法及类成员设计的时候

2017-09-17 23:33:20 308

原创 Windows Practice_文件_文件分割器(二)

文件分割器实现时注意的几点分割文件的头信息结构体的设计,如果里面需要存储字符串的信息,我们必须使用字符串数组来存储,而不能使用类似于CString、string等字符串对象来存储,因为使用这些对象在存储的时候还好,可以知道它的长度进行文件的写入,但是在读取的时候就会出现问题了,因为不知道读取多少。 解决方法有两个: 1. 在头文件信息结构体中加上构造函数和一些其它的辅助函数(这样就相当于类的功能

2017-09-17 11:02:33 361

原创 Windows Practice_文件_文件分割器(一)

文件分割的意义有以下几点需要进行文件分割:以前的硬盘格式是FAT32,也是意味着最大的内存放的单个文件是4GB,如果文件超过4GB,就需要进行分割成小于4GB的文件才能存储到硬盘上;网络虚度比较慢,并且还会出现中断,一旦中断,下载的文件就会失效。我们在做分割时候,除了考虑分割外,还需要考虑合并,否则分割也就没有意义了。CFile函数注意事项CFile默认打开的是文本格式,这不符合文件风格的要求

2017-09-17 01:08:45 542

原创 Windows Practice_内存映射_加载BMP

什么是BMP,为什么我们会经常使用这种图片格式?微软给我们专门提供了一个加载位图的LoadBitmap函数,这说明bmp格式图片在Windows中使用的比较多。 我们知道没一种文件都有它自己的文件结构,那么bmp就是一种位图形式的文件格式。既然bmp也是一种文件,那么我们也可以使用CreateFile函数进行打开。bmp文件格式详解先看下面一个简单的例子:void CFileMapBMPDlg::

2017-09-17 00:20:23 443

原创 Windows Practice_文件_内存映射(一)

大文件数据操作我们以全国开放数据(数据纯属伪造)为例,它的文件格式是csv,也是经常使用的一种文件存储格式,它是以逗号和换行来进行区分数据段和行来进行数据的区分。 今天我们把一个文件中的2000000条数据进行处理。文件操作的几种方式#include <stdio.h>#include <Windows.h>#include <clocale>const UINT MAXLINESIZE =

2017-09-10 13:39:31 410

原创 Windows Practice_文件_注册表操作

Windows中的注册表我们会好奇,为什么在我们双击一个文件的时候,会用合适的程序来运行呢?比如说.jpg文件在双击的时候就会用图片查看软件打开,这是为什么呢? 因为文件的后缀名帮助操作系统如何打开,也可以自定义。 我们知道notepad可以打开.txt文件,但是notepad不能打开.mystyle的后缀名,如果我们想用notepad打开这样的后缀名的文件,那么应该对操作系统进行设置,具体的说

2017-09-10 13:30:44 357

原创 Windows Practice_文件_文件基础操作

Windows中文件在Windows编程中,少不了打交道的肯定是文件,但是我们绝大多数接触到的都是文件的表象。 在Windows中有各种各样的文件,大致有: - exe dll:可执行文件 - txt:文本文件 - jpg bmp gif: 图像图形文件 - lnk: 快捷方式文件 - rar 7z zip iso:压缩文件 - avi mp4 rmvb 影音文件这些文件实

2017-09-10 10:50:42 453

原创 Windows Practice第3方库的学习方式

界面库的使用这里我们主要是开源的duilib为例来简单的学习一下第3方界面库的使用。 目前比较流行的库是一般只做一件事,这样做的目的是使得我们的库变得很轻,而不像MFC那样的笨重。 duilib的文档给出了类的继承关系图,如下所示: 迅雷的界面库不是开源的,但是做的十分的炫酷。在使用第3方库的时候一定要先看它的文档,否则我们是无法使用的。文档里面一般会有例子和使用说明。总之,这些第3方库都需要

2017-09-08 22:49:12 176

原创 Windows Practice(八)_MFC

简单的Spy++实现从Spy++运行的效果来看,我们不难推测出,它是根据鼠标移动的位置来进行窗口的查找。那么是什么API呢?那就需要靠万能的谷歌和百度了。源码实现: 解决方案结构如下: 运行效果如下图: 主要代码如下:// Spy++DemoDlg.cpp : 实现文件//#include "stdafx.h"#include "Spy++Demo.h"#include "Spy++

2017-09-08 01:31:33 436

原创 Windows Practice(七)_MFC

简单计算器实现注意事项由于计算器中有很多的窗口,那么我们就需要使用很多次CreateWindow函数,但是我们在使用的时候,有一些参数是固定不变的,所以我们就有必要对CreateWindow函数进行封装。 还有,如果我们使用了c++中的string类的时候,就不需要使用c语言的字符串拼接函数了,直接使用string中的+=等符号重载就可以了,否则我们失去了一些运行效率,但是也没有得到开发效率的提升

2017-09-08 00:42:12 279

原创 Windows Practice_闹钟(六)_控件对象

Windows API封装思想MFC之所以好用,那是因为MFC把Windows所有API都封装起来了,我们在使用的时候就会很方便,所以我们以后在使用Windows API的时候就需要适当的将一些Windows API封装起来,这样使用起来就会很方便了。Win32 API创建一些列的控件Win32 API也可以使用CreateWindow函数来创建像MFC里面的按钮(Button)、编辑框(Edit)

2017-09-07 20:16:33 316

原创 Windows Practice_闹钟(五)_GDI绘制工具

GDI的应用简单画图软件,实现了画笔、直线、圆以及贴图的功能。 解决方案如下图所示: // Paint.cpp : 定义应用程序的入口点。//#include "stdafx.h"#include <commdlg.h>#include <Windowsx.h>#include "DrawDemo.h"#define MAX_LOADSTRING 100typedef enum tagD

2017-09-07 01:46:27 323

win32diskimager-1.0.0-install.exe.zip

win32diskimager-1.0.0-install.exe在sourceforge上面有时候很难下载下来,所以为了方便大家使用,将此共享到csdn上。

2019-07-10

Windbg调试工具32位和64位两个版本下载

Windbg调试工具32位和64位两个版本下载,为了方便大家学习,特此为大家提供下载。

2019-04-16

buttonrpc_cpp14-master.zip

buttonrpc_cpp14-master.zip 使用vs2015编译,不想要大家的分数,最少也得选1分,无奈。

2019-01-21

软件工程中文版

软件工程中文版软件工程中文版软件工程中文版软件工程中文版

2018-01-02

Java编程思想第四版完整中文高清版.pdf

Java编程思想第四版完整中文高清版.pdfJava编程思想第四版完整中文高清版.pdf

2017-12-31

jdk-9.0.1_doc-all.rar

jdk-9.0.1_doc-all.rarjdk-9.0.1_doc-all.rarjdk-9.0.1_doc-all.rar

2017-12-28

jdk-8u152-docs-all.rar

jdk-8u152-docs-all.rarjdk-8u152-docs-all.rarjdk-8u152-docs-all.rar

2017-12-28

jdk-8u152-docs-all

jdk-8u152-docs-alljdk-8u152-docs-alljdk-8u152-docs-all

2017-12-28

阿里巴巴Java开发手册v1.2.0

阿里巴巴Java开发手册v1.2.0阿里巴巴Java开发手册v1.2.0

2017-12-28

Ubuntu 17.04安装CUDA9.0 Cudnn7 Opencv3.3 Caffe安装

CUDA9.0 Cudnn7 Opencv3.3CUDA9.0 Cudnn7 Opencv3.3CUDA9.0 Cudnn7 Opencv3.3

2017-11-12

json-lib-2.4-jdk15

json-lib-2.4-jdk15 json-lib-2.4-jdk15json-lib-2.4-jdk15

2017-11-06

opencv-3.2.0.zip

opencv-3.2.0.zip.zipopencv-3.2.0.zip.zipopencv-3.2.0.zip.zip

2017-11-01

vgg_generated_64.i.rar

vgg_generated_64.i.rarvgg_generated_64.i.rarvgg_generated_64.i.rar

2017-11-01

vgg_generated_80

vgg_generated_48.rarvgg_generated_48.rarvgg_generated_48.rar

2017-11-01

vgg_generated_48.i

vgg_generated_120.i

2017-11-01

高质量C.C++编程指南

高质量C.C++编程指南是一本非常好的编程规范书,供大家下载使用。

2017-10-25

opencv_contrib-3.2.0

opencv_contrib-3.2.0 opencv_contrib-3.2.0 opencv_contrib-3.2.0

2017-10-23

opencv_contrib-3.2.0.tar.gz

opencv_contrib-3.2.0.tar.gz...............................................................................

2017-10-23

cudnn-8.0-windows10-x64-v5.1

cudnn-8.0-windows10-x64-v5.1软件包供大家免费下载使用。。。。

2017-10-22

protobuf-cpp-3.1.0.tar.gz

protobuf-cpp-3.1.0.tar.gz 免费供大家下载和使用。。。

2017-10-18

ippicv_linux_20151201.tgz

ippicv_linux_20151201.tgz免费供大家下载和使用。。。。。

2017-10-18

cudnn-7.0-linux-x64-v3.0-prod

cudnn-7.0-linux-x64-v3.0-prod供大家下载安装使用,方便大家。

2017-10-17

JavaScript DOM编程艺术(中文第2版)part2

JavaScript DOM编程艺术(中文第2版)part2欢迎大家下载使用。

2017-10-11

JavaScript DOM编程艺术(中文第2版)part1

JavaScript DOM编程艺术(中文第2版)part1,欢迎大家下载使用。

2017-10-11

commons-logging-1.2-bin

commons-logging-1.2-bin的上传,为广大的java程序员提供方便。

2017-10-09

Java编程思想第四版完整中文高清版

Java编程思想第四版完整中文高清版的上传,方便广大的java程序员使用和阅读,为大家提供方便。

2017-10-09

apache-log4j-2.9.0-bin

apache-log4j-2.9.0-bin是目前比较新的一个版本,以后后能会经常用得到,所以上传上来供广大程序员使用,以节省大家的时间!

2017-09-07

jaxr-api.jar

jaxr-api.jar在网上很少找得到,考虑到程序员时间的宝贵性,就上传了一份,希望能节省大家的时间,来提高程序员的编程效率!

2017-09-07

多线程内存修改器

使用多线程计数,快速的扫描进程中的内存的指定值,然后修改它。要使用管理员身份才能修改成功。

2017-07-25

内存修改器

根据进程的名字找到该进程,扫描进程里面要修改的地址,找到之后,就可以修改这个值。需要注意的是,必须要以管理员身份运行,否则修改不成功!

2017-07-25

OpenCv实现两个图片的相似度

利用OpenCv提供的函数接口实现了两个图像的相似度的计算

2017-06-23

串口通信端口号大于等于10

完美实现了调试串口端号不能大于两位数的问题(即端口号不能大于等于10),源码奉上!

2015-09-10

串口调试源码

基于vc++6.0编写的串口调试程序源码,下载后可以直接运行!

2015-09-10

串口调试工具源码

基于vc++6.0编写的串口调试程序源码,功能也比较强大,下载后可以直接运行!

2015-09-10

展示opencv的图像绘制功能

本程序展示了opencv强大的画图功能,下载解压后直接运行,即可看到超炫的图画界面。

2015-09-10

椭圆拟合源代码

本程序是基于opencv的椭圆拟合源码,使用的是vc++6.0的IDE编译环境,部分函数有注释说明,非常适合初学者!

2015-09-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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