C/C++ 获取PE文件的各种信息

首先感谢cyxvc老哥,他的代码可读性超高,精简有用以理解,我找这方面的资料好久了,这篇文章对我帮助很大。参考代码:#include "stdafx.h" #include extern void directorystring(dword dwindex); int _tmain(int argc, _tchar* argv[]) { //获取文件句柄 handle hfile = createfile( _t("d:\\pe.e...

2023-03-09 自学教程


C/C++ Hook 键盘记录器

之前写外挂做过指定进程的 hook,但是没有尝试过全局 hook,所以今天就来试试。全局 hook 的用途我第一个就想到了键盘记录器,那就写一个吧。实现代码:#include #include #include #include using namespace std; hhook keyboardhook = 0; // 钩子句柄 lresult callback lowlevelkeyboardproc( _...

2023-03-09 自学教程


C/C++ 获取进程某模块入口地址

实现获取指定进程中特定模块的枚举以及得到该模块入口地址等信息。实现代码:hmodule getprocessmodulehandle(dword pid, const tchar* modulename){ // 根据 pid 、模块名(需要写后缀,如:".dll"),获取模块入口地址。 moduleentry32 moduleentry; handle handle = null; handle = ::createtoolh...

2023-03-09 自学教程


微服务实践--微服务方法论00

思想在接收到一个新的新项目时,架构师的职责是建立项目的业务与技术实现之间的桥梁。在翻译业务到技术实现的过程中需要进行业务建模、技术设计等方面的工作。业务建模和技术设计过程中都有各自领域的知识体系。基本上每个知识体系都是由上层的理论、概念和方法论的提供方向上的支撑,由下层的实施...

2023-03-09 Spring腾讯云开发者社区Spring Cloud微服务架构微服务


C/C++ 实现读写注册表

读注册表 // 初始化 hkey hkey_return = null; // 打开注册表失败 if(error_success != regopenkeyex( hkey_local_machine, // 注册表根键句柄(也可以是 hkey_classes_root、hkey_current_user、hkey_users、hkey_current_config) 去掉第一个参数后的注册表路径, // 注册表路径(开头无'\&#x...

2023-03-09 自学教程


C/C++ 递归遍历文件并计算MD5

递归遍历文件夹,对比文件md5首先,需要引用 md5 的相关代码,参考这篇文章,防止链接内容被删除,这里再记录一次: md5.h #ifndef md5_h #define md5_h #include #include /* type define */ typedef unsigned char byte; typedef unsigned int uint32; using std::string; using std::ifstream;...

2023-03-09 编程算法


C/C++ 获取操作系统版本

得到当前运行操作系统版本号,用于判断系统版本,在安全开发中还是经常被使用到的一段代码片段。float getsysversion(){ float f_ret; typedef void(__stdcall*ntproc)(dword*, dword*, dword*); dword dwmajor, dwminor, dwbuildnumber; ntproc proc = (ntproc)getprocaddress( loadlibrary("ntdll...

2023-03-09 自学教程


数据库设计范式之逻辑设计

逻辑设计1. 相关名词1.1. 候选码,主码候选码通常有一个或多个,用于唯一确定一个元组(行,对象)。举例:主键,唯一索引都可以是候选码。主码从候选码中选择,通常是表的主键。1.2. 属性,属性名称,域,分量属性就是列,对象属性值。属性名就是列名,字段名,对象属性名。域就是属性值范围。分量...

2023-03-09 数据库SQL


C/C++ 获取 PE 文件导出表

得到特定pe文件内的导出表信息,并输出。// 内存偏移转文件偏移 int rva_to_raw(pimage_section_header psection,int nsectionnum,int nrva) { int nret = 0; // 遍历节区 for (int i=0;i

2023-03-09 自学教程


MySQL创建数据库基础篇

博客主页: ​​开心档博客主页​​ 欢迎关注点赞收藏⭐留言 本文由开心档原创! 51cto首发时间:2022年12月12日 ✉️这世界很喧嚣,做自己就好! 作者水平很有限,如果发现错误,一定要及时告知作者哦!感谢感谢! 我们可以在登陆 mysql 服务后,使用 create 命令创建数据库,语法如下:create database 数...

2023-03-09 数据库云数据库 SQL ServerSQLPHP