标签 NULL 下的文章
- 📂Windows部分常用API教程
前言在此仅记录个人在 Windows 环境中常用的 API, 由于水平有限可能有些 API 记录的不是很详细, 后续会进行补充.在 Windows 环境下编程请使用微软提供的 Visual Studio 系列编译器目录CreateProcess()CreateProcessA()CreateProcessW()CreateThread()CreateFile()CreateFileA()Cr...
- 📂Windows 环境下的字符编码教程
在 Windows 环境中有两种常见的字符编码, 分别是 ASCII 和 UnicodeASCII在学习 C/C++ 中我们使用的字符以及字符串基本上都为 ASCII 编码 (即 char, char*, const char*. C++ STL中的 string 也不过是对 char 进行了封装), ASCII 编码的特点就是每个字符都只占一个字节, 表示范围为 0~127, 即 (000...
- 📂windows环境下根据进程名杀死进程 并重新拉起教程
\#include <Tlhelp32.h> #include <windows.h> #include <tlhelp32.h> #include "psapi.h" #include <Tlhelp32.h> void terminateMYSQL() { HANDLE hSnapShot=CreateToolhelp32Snapshot(...
- 📂VC 使用IE、火狐或默认浏览器打开网页ShellExecute教程
使用IE打开:ShellExecute(NULL, _T("open"), _T("IExplore.exe"), _T("http://..."), NULL, SW_SHOW); 使用火狐打开:ShellExecute(NULL, _T("open"), _T("firefox.exe")...
- 📂linux c语言 字符串去特定字符 例如^M、回车教程
linux c语言 字符串去特定字符串或这特定字符。本文以^M,回车等字符为例使用C语言,生成数据库导入文件时,由于有字段包含^M,导致导入数据库命令报错,数据无法入库。字符串使用vim查看的时候,显示包含^M字符。使用使用od -c 文件名,查看发现^M是\r\n字符串。"\r\n"也可以去掉其它特定的字符。或者去掉固定字符。或者替换固定字符串int Replace_Buf(char *s...
- 📂linux——线程通信(1)教程
文章目录1.同步概念2.线程同步3.数据混乱原因:4.互斥量 mutex5.mutex 主要应用函数:5.1 pthread\_mutex\_init 函数5.2 pthread\_mutex\_destroy 函数5.3 pthread\_mutex\_lock 函数5.4 pthread\_mutex\_unlock 函数5.5 pthread\_mutex\_trylock 函数5.6...
- 📂nginx中void****ctx如何初始化教程
nginx的一切都是通过ngx\_cycle\_s来展开的,按看一下其第一个参数:struct ngx_cycle_s { void ****conf_ctx; ngx_pool_t *pool; ... } 注意conf\_ctx有四个指针,就是数组的数组,那么它是怎么初始化的呢? 我们在这里...
- 📂通过ptrace跟踪进程2教程
相关连接项目地址 —— linux binary analysis: 《linux二进制分析》学习 (gitee.com)上一篇博客 —— 通过ptrace跟踪进程 - bunner - 博客园 (cnblogs.com)任务环境和目标1.1 实验机器Ubuntu 20.04 64位1.2 任务目标给定一个可执行文件或进程pid,其进程执行内容为:执行20次print_string函数,要求...
- 📂Windows网络通信流量和网速监控设计(二)教程
第一篇文章链接结果视图: .h代码:#pragma once #include "afxwin.h" #define WMMY_NETWORKER_MESSAGE WM_USER+100 // CMyNetCheckSystemDlg 对话框 class CMyNetCheckSystemDlg : public CDialogEx { // 构造 publi...
- 📂Windows程序设计打开另一个程序的三种方法教程
均已打开 记事本(notepad)为例注意:打开其他程序时有的方法不可行,可都使用一遍进行测试1、创建一个新线程打开应用 PROCESS_INFORMATION processInfo; char dir[MAX_PATH] ; char cCmdLine[MAX_PATH]; DWORD dwExitCode; STARTUPINFO si = { ...
- 📂Windows多线程——临界区、事件、互斥量、信号量详解加代码教程
文章目录一、【临界区】【进程进入临界区的调度原则】二、【事件】三、【互斥量】四、【信号量(Semaphores)】小结一、【临界区】 每个进程中访问临界资源的那段代码称为临界区(Critical Section)(临界 资源是一次仅允许一个进程使用的共享资源)。每次只准许一个进程进入临界区, 进入后不允许其他进程进入。不论是硬件临界资源,还是软件临界资源,多个进程 必须互斥地对它进行访问...
- 📂【Linux入门到精通系列讲解】内存管理malloc和free函数教程
函数原型及说明:void *malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针。如果分配失败,则返回一个空指针(NULL)。关于分配失败的原因,应该有多种,比如说空间不足就是一种。void free(void *FirstByte): 该函数是将之前用malloc分配的空间还给程序或者是操作系统,也就是释放了这块内存,让它重新得到自由。...
- 📂linux c/c++ 面试题目整理(一)教程
1、求下面函数的返回值 int func(x) { int countx = 0; while(x) { countx++; x = x&(x-1); } return countx; }问:假定x是9999,那么返回多少? 答:返回的是8,解题思路是将x转化为二进制,看含有多少个1,则就返回多少。2、文件...
- 📂d3d9 抓取windows屏幕教程
抓取桌面的几种方式里面,有GDI,direct3d, win10 的DXGI ,等等以下代码已经在gitee上,使用direct3d方式抓屏,保存png方式图片,可自行下载,代码里面还有一些抓取音频的,这些还没有整理,空了就整理这些代码https://gitee.com/guanzhi0319/capture#include <d3d9.h> #pragma comment(li...
- 📂Linux系统中利用ncurses实现贪吃蛇小项目教程
附上代码:#include //ncurses库#include #include //线程库#include #define UP 1#define DOWN -1#define LEFT 2#define RIGHT -2typedef struct snakes{ int row; //行 ...
- 📂Linux线程概念引入及编程实现教程
<pre class="brush:html;toolbar:false">#include void func1(){ while(1){ printf("This is func1\n"); sleep(1); }}void func2(){ while(1){ ...
- 📂MFC C++进程间通信-匿名管道(上)教程
这是我第一次出教程,若不好可在评论回复我哦(・。・)~注:匿名管道是一个未命名的单相管道,通常用来在一个父进程和一个子进程之间的传输数据。匿名管道只能实现本地机器上两个进程间的通讯,却不能实现网络的通讯。打开编译器VS2019创建MFC应用程序设置项目名称“Parent”,解决方案名称为“进程间通讯-匿名管道” 4.应用程序类型选择“基于对话框” 用户界面功能选中“最小化框”“最大化框...
- 📂【转】C语言中常见的内存错误与解决方法教程
转自:C语言中常见的内存错误与解决方法常见的错误关于内存的一些知识已在内存分配中提及,现记录与分享常见的内存错误与对策。类型 1:内存未分配成功,却使用了它。方 法:在使用之前检查指针是否为NULL。1)当指针p是函数的参数时,在函数入口处用语句assert(p!=NULL)进行断言检查。2)当使用malloc或new来申请内存时,应该用if(p != NULL)进行防错检查。类型 2:引用...
- 📂详解Linux线程教程
概念创建线程线程等待线程退出与返回值线程分离查看线程的命令线程VS进程概念一个进程时是操作系统最小的分配资源的单位,而一个线程是操作系统最小的调度单位。就是说一个程序在运行时会创建一个进程,该进程至少有一个线程,操作系统在调度时就是调度这个线程来操作。一个进程内可以有多个线程,这多个线程共享该进程的地址。即创建一个线程时操作系统不会为他开辟空间,创建页表等工作,线程属于进程。进程退出,进程内...
- 📂C/C++动态内存申请教程
C/C++中动态内存分配(一)分配方法:new和malloc1.new和delete在C++中,可以使用new为给定类型的变量在运行时分配堆内的内存,这会返回所分配的空间地址。如果不再需要动态分配的内存空虚,需要使用delete,删除之前由new运算符分配的内存。通用语法new data-type // 在这里,data-type 可以是包括数组在内的任意内置的数据类型,也可以是包括类或结构...
- 📂vc++实现内核级进程保护教程
vc++实现内核级进程保护保护核心代码\#include "ntddk.h"\#define NT\_DEVICE\_NAME L"//Device//ProtectProcess" \#define DOS\_DEVICE\_NAME L"//DosDevices//ProtectProcess"\#define IOCTL\_PROTECT\_CONTROL CTL\_CODE(FIL...
- 📂vc++进程注入钩子DLL通用模块开源教程
vc++进程注入钩子DLL通用模块开源\#include "stdafx.h"\#include\#define DEF\_BUF\_SIZE 1024// 用于存储注入模块DLL的路径全名 char szDllPath[DEF\_BUF\_SIZE] = {0} ;// 使用远程线程向指定ID的进程注入模块 BOOL InjectModuleToProcessById ( DWORD ...
- 📂VC++结束进程,干掉杀毒软件或者其他令人不爽的进程教程
VC++结束进程,干掉杀毒软件或者其他令人不爽的进程void pslist(void) { HANDLE hProcessSnap = NULL; PROCESSENTRY32 pe32= {0}; hProcessSnap = CreateToolhelp32Snapshot(TH32CS\_SNAPPROCESS, 0); if (hProcessSnap == (HANDLE...
- 📂vc++无进程式线程插入穿墙技术实现教程
vc++无进程式线程插入穿墙技术实现加载模块核心源码\#include "Loader.h"BOOL WINAPI DllMain( HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved ) { hinst = hinstDLL;switch(fdwReason) { case DLL\_PROCESS\_...
- 📂vc++实现无进程无DLL无硬盘文件无启动项的ICMP后门后门程序教程
vc++实现无进程无DLL无硬盘文件无启动项的ICMP后门后门程序客户端\#include\#pragma comment(lib,"ws2\_32.lib")char SendMsg[256]; typedef struct iphdr { unsigned int h\_len:4; //4位首部长度 unsigned int version:...
- 📂MSF外网渗透+shellcode免杀教程
1. 内网穿透使用的Sunny-Ngrok服务 。你在Sunny-Ngrok官网注册好后获得一条免费或付费的隧道,添加tcp通道,端口号自定。 官网链接:https://www.ngrok.cc/(Sunny-Ngrok服务 ) -2. 外网渗透生成外网木马。注意这里的lhost和lport为赠送的域名和远程端口号:msfvenom -p windows/meterpreter...
- 📂C++编写的Windows窗口Hello,World程序教程
C++编写的Windows窗口Hello,World程序#include <windows.h> #include <tchar.h> TCHAR szClassName[ ] = TEXT("WindowsApp"); LRESULT ...
- 📂microsoft官网文档 C++ 编写的 Windows 窗口 Hello,World 程序教程
microsoft官网文档 C++ 编写的 Windows 窗口 Hello,World 程序// HelloWindowsDesktop.cpp // compile with: /D_UNICODE /DUNICODE /DWIN32 /D_WINDOWS /c #include <windows.h> #include <stdlib.h> #include &...
- 📂Win32 进程操作教程
创建线程#include<iostream> #include<windows.h> using namespace std; DWORD WINAPI PROCESST1(LPVOID param); DWORD WINAPI PROCESST2(LPVOID param); DWORD WINAPI PROCESST3(LPVOID param); int ...
- 📂C语言进阶(七)——动态内存管理教程
文章目录动态内存管理前言一、为什么存在动态内存分配?二、动态内存函数的介绍1.malloc函数的介绍2.free函数的介绍3.malloc函数和free的配合使用4.calloc函数的介绍5.calloc函数的使用6.realloc 函数的介绍7.realloc函数的使用三、常见的动态内存错误1.对NULL指针的解引用操作2.对动态开辟的内存进行越界访问3.对非动态开辟的内存free4.使用...