首页
社区
课程
招聘
[旧帖] 运行中进程文件自修改问题 0.00雪花
发表于: 2010-3-19 17:57 5291

[旧帖] 运行中进程文件自修改问题 0.00雪花

2010-3-19 17:57
5291
大家好:

    a.exe在运行过程中,如何将自身文件修改。

    需要说清几个问题:
    1. 要修改自身硬盘文件,而不是内存数据
    2. 没错,需要修改的是正在运行时的文件,而且是自身
    3. 不能用很常规的手段,需要绕过win的保护机制。
   
    谢谢!

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (12)
雪    币: 576
活跃值: (1500)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
2
首先获得自身句柄,然后,得到文件末尾的地址,最后WriteProcessMemory。
2010-3-19 18:35
0
雪    币: 3
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
qml
3
运行中还能修改自身?
2010-3-20 02:29
0
雪    币: 401
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
http://bbs.pediy.com/showthread.php?t=109232
这个帖子里lz的代码就修改了自己,唯一需要注意的就是链接时要添加参数/SECTION:.text,RWE,否则肯定会报错的。
2010-3-20 02:38
0
雪    币: 2105
活跃值: (424)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
文件~~~~~~~
2010-3-20 02:39
0
雪    币: 65
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
文件被占用起的还可以修改!!
2010-3-20 11:22
0
雪    币: 240
活跃值: (26)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
7
一种直接mov文件在内存中的最后位置就修改了……
至于要直接修改磁盘里的文件内容,理论上应该是先进ring0,然后直接写磁盘,不然windows不许修改吧……
2010-3-21 15:41
0
雪    币: 126
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
需要补充说明,需要在ring3修改。
2010-3-22 13:05
0
雪    币: 401
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
lz说的到底是在内存中修改还是硬盘上修改?
2010-3-22 13:11
0
雪    币: 126
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
原帖我写道:

    需要说清几个问题:
    1. 要修改自身硬盘文件,而不是内存数据

内存修改,是很简单的。
2010-3-22 13:14
0
雪    币: 401
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
汗。。原来lz的帖子已经编辑过了……前几天我来看的时候还没有这句的……好吧,是我没看仔细。

直接操作磁盘?不知道,不会,撤人。
2010-3-22 13:25
0
雪    币: 316
活跃值: (326)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
把自身从内存中脱离。那毒虫不也是这样的吗?运行后就删除了自身
2010-3-22 13:44
0
雪    币: 126
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
exe自删除简单,多年前就有经典代码了,如下。
但是,自修改还有所不同,它需要修改时或修改后,不影响自身进程的正常运行。

#include "windows.h"

int main(int argc, char *argv[])
{
   char    buf[MAX_PATH];
   HMODULE module;
   
   module = GetModuleHandle(0);
   GetModuleFileName(module, buf, MAX_PATH);
   CloseHandle((HANDLE)4);
   
   __asm  
   {
     lea    eax, buf
     push    0
     push    0
     push    eax
     push    ExitProcess
     push    module
     push    DeleteFile
     push    UnmapViewOfFile
     ret
   }
   
   return 0;
}
2010-3-22 14:05
0
游客
登录 | 注册 方可回帖
返回
//