自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(118)
  • 资源 (6)
  • 收藏
  • 关注

原创 visual studio 连续输入三个///自动函数注释

开启关闭 选择 none

2021-08-12 11:01:53 511

原创 md5 需要注意中文

若是用于HTTP协议 那么需要把中文进行utf8编码后再加密 否则服务器接收的值是有问题的MD5 md5;//需要加密的字符串string str_a = CW2A(str.data(), CP_UTF8);// 编码utf8

2021-08-11 16:06:43 179

原创 利用dosbox 运行及调试 汇编 16位exe

接下来就可以调试 t1.exe了 具体的命令及解释 网上有非常多的详细介绍 这里只是做个笔记

2021-07-05 17:03:39 700

原创 Win32汇编环境搭建教程(MASM32 SDK)

二、MASM32 SDK安装2.1 下载下载链接:http://www.masm32.com/download.htm2.2 安装当前我下载的是v11r版本,将下载的zip包解压后得到的是一个齿轮图标的install.exe文件,双击运行开始安装。选择安装的磁盘(masm32 sdk需要安装在根目录下所以只能选磁盘不能自定义目录)后续一路点“确定”、“Yes”或“OK”就行了,直到下图所示即完成安装。2.3 配置环境变量打开:控制面板--系统和安全--..

2021-07-04 21:35:50 2234

原创 Windows10 汇编 debug

首先 下载 dosbox及debug.exedosbox 下载地址debug.exe 自行百度下载安装dosbox 我安装的是D盘 如图把下载好的debug.exe 放在如图Assembly文件夹名称 自己任意定启动 doxbox运行命令 mount c d:\Assem...

2021-06-29 15:04:27 178

原创 将自己的Dll注入到目标进程后,利用vs调试Dll

关于如何注入dll知识自行补脑,本文主要讲解如何在注入目标成功后的dll进行调试dll一:先启动目标程二:运行visual studio自己的程序三:在visual studio中设置附加到目标进程1,2,三:在自己的程序中点击 开始执行 按钮 开始注入到目标程 此时dll可以进断点了结束语 目前只会这种注入目标程序(非自己写的程序)Dll 断点调试,若有其它方式欢迎留言,互相学习...

2021-06-24 16:06:55 980

原创 C++ STL 正则表达式 非常的慢

如题 同样给的正则表达式,同样的测试文本,stl正则速度很慢,目前解决办法是用boost的正则表达式后速度提升不少 代码如下// header file#include <boost\regex.hpp> //static boost::wregex expression(L"[a-zA-Z_0-9-]+(\\.[a-zA-Z0-9-]+)*@([a-zA-Z0-9])+(\\.[a-zA-Z0-9-]+)+"); //boost::wsmatch what; wstring:

2021-06-21 12:46:57 720

原创 C++ 正则表达式 提取结果(不推荐采用STL方式,原因太慢)

// 本示例是提取Emailvoid RegularEmail(wstring& str_in, vector<wstring>& vStr_out){ vStr_out.clear();//[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-.]+ //wregex regRule(L"[a-zA-Z0-9_.+-]+@[a-pr-zA-PRZ0-9-]+.[a-zA-Z0-9-.]+"); wregex regRule(L"[a-zA-Z_0-9-]+(\\..

2021-06-20 12:52:48 291

原创 c++ Windows 获取文件夹下 所有指定文件

bool SearchFile(wstring strFolder_in, vector<wstring>& vStrFileName_out){ vStrFileName_out.clear(); // strFolder_in += L"\\*.csv";// *.csv present filter csv file but all file type use *.* int i = 0; CFileFind ff; BOOL ret = ff.FindFile(s.

2021-06-19 18:13:53 326

原创 C++ Windows 获取目录下(包含子目录)所有文件夹

void Recurse(wstring& strPath){ CFileFind finder; // build a string with wildcards strPath += L"\\*.*"; // start working for files BOOL bWorking = finder.FindFile(strPath.c_str()); while (bWorking) { bWorking = finder.FindNextFile(); /.

2021-06-19 18:01:07 698

原创 Windows10 关闭 Windows defender

2021-06-18 16:11:52 76

原创 Windows10 20H2 关闭更新

2021-06-18 15:34:32 534

原创 盘符名称问题 强迫症

解决办法 最后点击的是应用 录屏丢失呵呵????

2021-06-13 17:00:07 63

转载 win10 一段时间未操作电脑 system cpu 过高

第一步 : 问题分析 下载Process Explorer程序 网址:https://process-explorer.en.softonic.com/ 打开Process Explorer主窗口,双击SYSTEM进程,点击“Threads”选项卡,然后单击“CPU”列名,此时所有子线程都按照CPU占用率排列,我们找到线程中占...

2021-06-12 16:14:50 1677 2

原创 Windows hook 注入DLL

进程A:是开发者的程序进程B:是其它任意GUI程序如果要在进程A的地址空间中创建一个指针访问进程B地址空间中的数据是不可能的原因是 进程A,B的地址空间是相互独立的虚拟地址空间,进程A,B的地址空间是操作系统为进程虚拟出来的内存空间,并不是实际的物理内存空间,当进程的数据存储或是写入时,有操作系统为虚拟地址空间与实际物理内存空间进行数据交换,操作系统这样设计的目的是让进程彼此之间空间相互独立且不可跨界访问,是系统更加安全。然而项目的实际需求是需要在进程A中访问进程B中的数据,把B进程 i

2021-06-05 20:04:20 394

原创 使用注册表注入DLL

如图 首先找到注册表的位置

2021-06-05 19:11:03 203

原创 DLL 延迟载入 及 卸载

假设有这样的场景 我们开发的程序需要用到第三方的dll 但是 又不想把发布的程序制作成安装包的形式把dll打包到安装包内 且 只想发布一个.exe的便携版那么 我们有两种方式把dll 给用户第一种 把exe给用户的同时 需要把第三方的dll一并给用户 (当用户弄掉dll时 软件会提示丢失dll 不能工作 显然这种方式易丢失dll)第二种 把dll文件作为资源文件集成在exe中 在exe程序的初始化阶段判断需要的目录下有没有 我们需要的第三方的dll 若是没有 释放dll文件到相应的目录

2021-06-04 18:06:33 668 1

原创 DllMain

BOOL APIENTRY DllMain( HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ){ switch (ul_reason_for_call) { case DLL_PROCESS_ATTACH: // dll映射到进程的地址空间后 进程的主线程调用且只调用.

2021-06-03 16:36:17 64

原创 visual studio 2019 查看DLL 导出函数

用到了 dumpbin /exports dll路径

2021-05-30 15:22:35 858

转载 高并发设计

使用 64 位体系结构对于应用程序开发者,Solaris 64 位和 32 位环境的主要区别在于所使用的 C 语言数据类型的模型。64 位数据类型使用 LP64 模型,其中long和指针的宽度为 64 位,其他所有基础数据类型仍然与 32 位实现的数据类型相同。32 位数据类型使用 ILP32 模型,其中的int、long和指针宽度为 32 位。以下简要概述了 64 位环境的主要特征以及使用该环境时的注意事项: 大虚拟地址空间 在 64 位环境中,进程的虚拟地址空间最高可达 64 ...

2021-05-28 18:25:04 40

转载 浅谈进程地址空间与虚拟存储空间

早期的内存分配机制 在早期的计算机中,要运行一个程序,会把这些程序全都装入内存,程序都是直接运行在内存上的,也就是说程序中访问的内存地址都是实际的物理内存地址。当计算机同时运行多个程序时,必须保证这些程序用到的内存总量要小于计算机实际物理内存的大小。   那当程序同时运行多个程序时,操作系统是如何为这些程序分配内存 的呢?下面通过实例来说明当时的内存分配方法:   某台计算机总的内存大小是 128M ,现在同时运行两...

2021-05-28 16:48:37 493

转载 虚拟地址空间

当处理器读取或写入内存位置时,它会使用虚拟地址。 在读取或写入操作过程中,处理器会将虚拟地址转换为物理地址。 通过虚拟地址访问内存有以下优势: 程序可以使用一系列连续的虚拟地址来访问物理内存中不连续的大内存缓冲区。 程序可以使用一系列虚拟地址来访问大于可用物理内存的内存缓冲区。 当物理内存的供应量变小时,内存管理器会将物理内存页(通常大小为 4 KB)保存到磁盘文件。 数据或代码页会根据需要在物理内存与磁盘之间移动。 不同进程使用的虚拟地址彼此隔离。 一个进程中的代码无法更改正在由

2021-05-28 13:02:26 312

原创 fiddler 抓不到chrome包 缓存问题是其一

禁用缓存

2021-05-17 19:59:42 133

原创 vector 移除指定所有元素

// 本示例 指 移除vector中 所有 L" " 元素m_VStrKeyWord.erase(std::remove(m_VStrKeyWord.begin(), m_VStrKeyWord.end(), L" "), m_VStrKeyWord.end());

2021-05-16 23:51:48 287

原创 boost 处理 string

#include <boost/algorithm/string.hpp>using namespace boost;

2021-05-13 23:15:41 287

原创 boost 分割字符串

wstring str = L"1 2 3"vector<wstring> v_out;boost::split(v_out, str, boost::is_any_of(L" "), boost::token_compress_on);

2021-05-11 22:12:07 458

原创 SQLite visual studio 2019 编译静态库

下载 地址https://www.sqlite.org/download.html解压后里面的文件是第一 在visual studio 新建第二第三第四第五导入 解压的文件 如图生成 debug版本的 lib 如图生成 release版本的lib 如图在项目的目录下 debug release目录下 对应的就是 debug lib release lib 了...

2021-05-09 21:12:44 487

原创 c++ Windows 判断文件及文件夹是否存在 及 创建

https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/access-waccess?f1url=%3FappId%3DDev16IDEF1%26l%3DEN-US%26k%3Dk(CORECRT_IO%252F_access);k(_access);k(DevLang-C%252B%252B);k(TargetOS-Windows)%26rd%3Dtrue&view=msvc-160https://docs.micros

2021-05-09 15:40:49 469

原创 CImage 载入缓存区图像数据

HGLOBAL hRes = ::GlobalAlloc(GMEM_MOVEABLE, dLength);// dLength 缓存区大小 if (hRes != NULL) { IStream* pStream = NULL; LPVOID lpResBuffer = ::GlobalLock(hRes); ASSERT(lpResBuffer != NULL); memcpy(lpResBuffer, buffer, dLength);// buffer 图像缓存区 HRE.

2021-05-08 16:26:54 287

原创 模拟键盘操作

UINT SendInput( UINT cInputs, LPINPUT pInputs, int cbSize);ParameterscInputsType:UINTThe number of structures in thepInputsarray.pInputsType:LPINPUTAn array ofINPUTstructures. Each structure represents an event to be in...

2021-05-05 14:00:49 131

原创 Hook 放在类中

因为回调函数 要么是全局函数 要么是静态函数 若是放在类中 只能是静态函数//keyboard hookstatic LRESULT CALLBACK keyProc(int nCode, WPARAM wParam, LPARAM lParam);在上诉回调函数中 执行类中的方法 需要 extern 类指针 然后在回调函数中使用该指针...

2021-05-05 10:22:04 95

原创 visual studio debugger x64 msvsmon.exe 找不到

此文件缺失 或是被重命名其它名字 就会出现 如标题问题我平时是把这个文件进行重命名的 原因是在x86模式下 debug启动调试 鼠标指针就是转啊转

2021-05-02 12:26:35 200

原创 C++ 从N个数中 取出 M个数 进行排列

template <class BidirectionalIterator>inline constexpr bool next_partial_permutation(BidirectionalIterator first, BidirectionalIterator middle, BidirectionalIterator last){ using std::reverse; reverse(middle, last); return std::next_permutati.

2021-05-01 09:55:47 555

原创 C++ 从M个元素中 取出N个元素 组合

/** Function return all possible combinations of k elements from N-size inputVector.* The result is returned as a vector of k-long vectors containing all combinations.*/template<typename T> std::vector<std::vector<T>> getAllCombinati.

2021-04-30 21:18:07 668 1

原创 boost visual studio 2019 编译

boost 官网https://www.boost.org/因为自己编译觉得麻烦 有时会出现奇怪的问题 所以 下载编译好的 文件 地址https://sourceforge.net/projects/boost/files/boost-binaries/32.exe 64.exe 不解释了我下载的是 32安装在所在的安装目录小 找到 文件夹打开找到这个就是 静态库文件目录头文件 include 如图整个文件夹...

2021-04-28 13:47:14 275

原创 C++ vector 每个元素 加减

// m_VRow 是一个 整型的 vectorfor_each(m_VRow.begin() + iRow, m_VRow.end(), [](int& i) { i--; });

2021-04-27 20:42:46 3905 1

原创 visual studio 2019 双斜杠 注释问题

标题

2021-04-18 15:34:03 1796

原创 微信小程序 解主包及子包

一 准备工具1 node.js 运行环境下载地址:https://nodejs.org/en/2 反编译的脚本https://github.com/xuedingmiaojun/wxappUnpacker3 小程序包解密工具【C#版原创】https://share.weiyun.com/uMqNGOXv二 开始反编译登录电脑端微信,访问你想解包的小程序,小程序包会在:我的文档\WeChat Files\Applet下生成wx开头的文件夹,里面包含__APP__.wxapkg文件,这个文件就是

2021-04-16 11:42:58 2377 1

原创 wstring string 传入构造函数的buffer中有乱码 那么 buffer中的信息会被截断 wstring string 显示的值不完整

//正确做法如下str.assign(buffer, bufferLength);

2021-04-13 22:46:06 193

原创 win10 x64 visual studio 2019 编译 OpenSSL-1.1.1

准备工作:1 到 OpenSSL 官网https://www.openssl.org/下载 openssl-1.1.1.tar.gz2安装 Perl 语言解释器,访问网站https://www.activestate.com/products/perl/3 win+r 输入命令 perl --version 如果安装成功 会出现版本号4接下来安装 Perl 语言的 Text:: Template 模块,执行命令:cpan Text::Template ,安装完 Text::...

2021-04-11 17:06:29 1098

Windows portable executable(PE)结构图

Windows portable executable(PE)结构图

2022-03-06

ollydbg原版及插件.zip

ollydbg原版及插件.zip

2021-09-08

C++ 中文帮助文档 C++ 必备

C++ 中文帮助文档 C++ 必备 不用多说了 用的人知道的

2011-10-21

小红伞 key S版

小红伞 key 2012年1月10日 到期 希望喜欢小红伞的用户 可以如愿以偿

2011-05-16

小红伞key 申请key 绝对的每人一个key

c# 做的 严禁用于商业用途 否则后果自负

2010-06-28

Wireshark使用教程(图文)

Wireshark使用教程 用于 抓包 分析 的工具

2010-05-10

空空如也

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

TA关注的人

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