美文网首页
使用WriteProcessMemory函数向指定进程写入数据

使用WriteProcessMemory函数向指定进程写入数据

作者: f675b1a02698 | 来源:发表于2017-09-14 16:14 被阅读0次

成功写入数据到进程 AA = 170 读取了1字节

源码

#include

#include

int main(int argc, PCHAR argv[]){

HANDLE handle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, 23548);

if (handle == NULL){

printf("打开进程失败\n");

}

printf("打开进程成功,句柄为:%p\n", handle);

LPSTR buffer = 0;

BYTE wb[5] = { 0xaa, 0xaa, 0xaa, 0xa1,0x00 };

BYTE cd[4] = { 0 };

DWORD i = 0;

DWORD newprot, oldprot;

VirtualProtectEx(handle, (LPVOID)0x0040008, 4, PAGE_EXECUTE_READWRITE, &oldprot);

if (!ReadProcessMemory(handle, (LPVOID)0x0040008, &buffer, 4, &i)){

printf("读取进程内存失败 %d %d\n", GetLastError(), i);

}

printf("读取到的进程内存信息为: %p 读取数量 %d\n", buffer, i);

if (!WriteProcessMemory(handle, (LPVOID)0x0040008, wb, 4, &i)){

printf("写入进程内存失败 %d %d\n", GetLastError(), i);

}

printf("写入到的进程内存信息为: %d 写入数量 %d\n", wb[0], i);

VirtualProtectEx(handle, (LPVOID)0x0040008, 4, oldprot, &newprot);

CloseHandle(handle);

getchar();

return 0;

}

相关文章

  • 使用WriteProcessMemory函数向指定进程写入数据

    成功写入数据到进程 AA = 170 读取了1字节 源码 #include #include int main(i...

  • redis数据持久化-RDB&AOF -- 2022-08-13

    rdb:在指定的时间间隔内将内存中的数据集快照写入磁盘。 通过一个fork子进程 将内存中的数据先写入到临时文件t...

  • curl、wget-linux

    curl 1.选项-o将下载数据写入到指定名称的文件中,使用选项-O将下载的数据写入到文件,必须使用文件的绝对地址...

  • Linux中限制目录占用空间-2018-03-22

    Linux中限制目录占用空间 背景 系统运行过程中,一些进程会向硬盘中写入大量的数据,如果写入的数据量不做控制,总...

  • R语言写入文件2021.2.24

    1、写入文件 使用write函数或者cat函数。cat函数:直接抓取数据显示在代码框中。write函数:file指...

  • PHP文件/目录操作

    文件读取/写入操作 fopen()函数 用来打开一个文件,打开时需要指定打开模式 写入函数 fwrite...

  • Linux C应用编程-4-信号

    1.产生信号 1)通过kill函数 kill函数可以给一个指定的进程发送指定的信号。 raise函数可以给当前进程...

  • 01 NIO 文件编程

    一 ByteBuffer 1 API使用案例 1.1 使用方式 向 buffer 写入数据,例如调用 channe...

  • 白书字符串数组

    数字与字符串转换 使用itoa函数,注意要指定转换的进制.. 用sprintf,sscanf来写入写出.. 1.蛇...

  • 2018-07-08

    这周我们学习了! 文件的读写 使用write()可以完成向文件写入数据 读数据(read) 读单个长度使用read...

网友评论

      本文标题:使用WriteProcessMemory函数向指定进程写入数据

      本文链接:https://www.haomeiwen.com/subject/lxgqsxtx.html