分享程序员开发的那些事...
首页
NTFS
漏洞
Android
Magento
服务器
Python
powershell
技术问答
Linux
网站首页
且构网 - 分享程序员编程开发的那些事
您所在的位置:
首页
>
WinApi学习笔记-内存的复制,填充,输出等操作
WinApi学习笔记-内存的复制,填充,输出等操作
更新时间:2022-08-28 20:26:18
Code
#include
<
windows.h
>
#include
<
stdio.h
>
#include
<
iostream
>
using
namespace
std;
#define
MEM_BLOCK_SIZE 32
//
lpMem需要打印的内存指针
//
dwSize大小
BOOL ShowMemContent(LPVOID lpMem,SIZE_T dwSize)
{
BYTE lpShow[MEM_BLOCK_SIZE];
INT i
=
0
;
if
(dwSize
>
MEM_BLOCK_SIZE)
{
cout
<<
"
over flow堆栈溢出
"
;
return
FALSE;
}
CopyMemory((LPVOID)lpShow,lpMem,dwSize);
for
(;i
<
dwSize;i
++
)
{
//
cout<<&lpShow[i];
printf(
"
%.2X
"
,lpShow[i]);
if
(
!
((i
+
1
)
%
16
))
{
cout
<<
endl;
}
}
cout
<<
endl;
return
TRUE;
}
int
main(
void
)
{
HANDLE hHeap
=
GetProcessHeap();
LPVOID lpSrc;
LPVOID lpDis;
lpSrc
=
HeapAlloc(hHeap,
0
,MEM_BLOCK_SIZE);
lpDis
=
HeapAlloc(hHeap,
0
,MEM_BLOCK_SIZE);
cout
<<
"
HeapAlloc分配但不清零
"
<<
endl;
ShowMemContent(lpDis,MEM_BLOCK_SIZE);
ZeroMemory(lpDis,MEM_BLOCK_SIZE);
cout
<<
"
HeapAlloc分配并清零
"
<<
endl;
ShowMemContent(lpDis,MEM_BLOCK_SIZE);
cout
<<
"
用指定的内容填充内存
"
<<
endl;
FillMemory(lpSrc,MEM_BLOCK_SIZE,
0xBB
);
FillMemory(lpSrc,MEM_BLOCK_SIZE
/
2
,
0xAA
);
CopyMemory(lpDis,lpSrc,MEM_BLOCK_SIZE);
ShowMemContent(lpDis,MEM_BLOCK_SIZE);
HeapFree(hHeap,
0
,lpSrc);
HeapFree(hHeap,
0
,lpDis);
CHAR a;
std::cin
>>
a;
}
上一篇 : :Centos LVS DR模式详细搭建过程
下一篇 : nginx学习笔记
相关阅读
WinApi学习笔记-内存的复制,填充,输出等操作
推荐文章
.Net令人纠结的Nu“.NET研究”ll
介绍html CSS和JS的定义或引用
cmake 学习笔记(三)
[LeetCode] Strobogrammatic Number II 对称数之二
[LeetCode] Strobogrammatic Number III 对称数之三
一起谈.NET技术,Log4Net 全方位跟踪程序运行
安全专家称黑客瞄上Wi-Fi免费上网大餐
[LeetCode] Flatten 2D Vector 压平二维向量
安全专家谈安全业界最值得期待的并购事件
Solve error: Cannot open include file: 'X11/Xlocale.h': No such file or directory