惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Help Net Security
Help Net Security
G
Google Developers Blog
雷峰网
雷峰网
WordPress大学
WordPress大学
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Engineering at Meta
Engineering at Meta
Security Latest
Security Latest
T
Threat Research - Cisco Blogs
AWS News Blog
AWS News Blog
F
Full Disclosure
C
Cybersecurity and Infrastructure Security Agency CISA
T
The Exploit Database - CXSecurity.com
J
Java Code Geeks
U
Unit 42
C
Cyber Attacks, Cyber Crime and Cyber Security
V
V2EX
C
Cisco Blogs
博客园 - 司徒正美
Project Zero
Project Zero
L
LINUX DO - 热门话题
阮一峰的网络日志
阮一峰的网络日志
Blog — PlanetScale
Blog — PlanetScale
Scott Helme
Scott Helme
A
About on SuperTechFans
Hugging Face - Blog
Hugging Face - Blog
S
Securelist
小众软件
小众软件
aimingoo的专栏
aimingoo的专栏
S
Schneier on Security
G
GRAHAM CLULEY
酷 壳 – CoolShell
酷 壳 – CoolShell
Cyberwarzone
Cyberwarzone
MongoDB | Blog
MongoDB | Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 叶小钗
T
Threatpost
Recorded Future
Recorded Future
C
CXSECURITY Database RSS Feed - CXSecurity.com
宝玉的分享
宝玉的分享
N
News and Events Feed by Topic
人人都是产品经理
人人都是产品经理
The Register - Security
The Register - Security
S
Security Archives - TechRepublic
博客园 - Franky
N
News | PayPal Newsroom
Simon Willison's Weblog
Simon Willison's Weblog
S
SegmentFault 最新的问题
W
WeLiveSecurity
A
Arctic Wolf
B
Blog

博客园 - TopCoder.NET

Windows消息目录 映射网络驱动器命令 均值、中位数、众数 修改Android 界面颜色 设置Android程序图标和程序标题 Android中的EditText默认时不弹出软键盘的方法 解决spring boot中rest接口404,500等错误返回统一的json格式 UTF-8的BOM含义 详解BOM头以及去掉BOM头的方法 2017年总结 Unknown SSL protocol error in connection to xxx:443 springmvc请求参数获取的几种方法 苹果手机输入中文不会触发onkeyup事件 LVS负载均衡DR模式部署 pycharm激活 Mac 终端命令行颜色高亮显示 windows7环境下使用pip安装MySQLdb python 国内镜像 mui 单页面下拉刷新
内存操作的几个函数
TopCoder.NET · 2021-06-04 · via 博客园 - TopCoder.NET

在2K或XP中要想写入数据到进程中需要用VirtualProtectEx将需要修改的地址段设为:PAGE_READWRITE;然后再用WriteProcessMemory写入数据或用ReadProcessMemory读取数据;

函数的形参如下:

BOOL VirtualProtectEx(  
 HANDLE hProcess, // 要修改内存的进程句柄  
 LPVOID lpAddress, // 要修改内存的起始地址  
 DWORD dwSize, // 修改内存的字节  
 DWORD flNewProtect, // 修改后的内存属性  
 PDWORD lpflOldProtect // 修改前的内存属性的地址  
)

BOOL WriteProcessMemory(  
 HANDLE hProcess, // 要写进程的句柄  
 LPVOID lpBaseAddress, // 写内存的起始地址  
 LPVOID lpBuffer, // 写入数据的地址  
 DWORD nSize, // 要写的字节数  
 LPDWORD lpNumberOfBytesWritten // 实际写入的子节数  
)

BOOL ReadProcessMemory(  
 HANDLE hProcess, // 要读进程的句柄  
 LPCVOID lpBaseAddress, // 读内存的起始地址  
 LPVOID lpBuffer, // 读入数据的地址  
 DWORD nSize, // 要读入的字节数  
 LPDWORD lpNumberOfBytesRead // 实际读入的子节数  
)