首页
社区
课程
招聘
[旧帖] [求助]一个简单的PE感染病毒,怎么把代码节的属性改为E0000020 0.00雪花
发表于: 2012-5-17 18:14 1855

[旧帖] [求助]一个简单的PE感染病毒,怎么把代码节的属性改为E0000020 0.00雪花

2012-5-17 18:14
1855
因为PE病毒没有.data节,数据都是定义在.text节中的,而代码节的属性是60000020,是不可写的,所以在代码中向变量写数据的时候就会报错,必须在病毒程序编译好之后用Lordpe等工具手动把代码节的属性改为E0000020才行。
有没有办法在写代码的时候就让病毒把自己的代码节改成E0000020?

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (11)
雪    币: 297
活跃值: (265)
能力值: ( LV4,RANK:55 )
在线值:
发帖
回帖
粉丝
2
定位到区段表头,改代码段属性就是了
2012-5-17 19:14
0
雪    币: 31
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
怎么动态定向到自身的节表呢
2012-5-17 19:59
0
雪    币: 615
活跃值: (172)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
4
亲,用这个api就可以了

VirtualProtect
The VirtualProtect function changes the access protection on a region of committed pages in the virtual address space of the calling process.

To change the access protection of any process, use the VirtualProtectEx function.

BOOL VirtualProtect(
  LPVOID lpAddress,       // region of committed pages
  SIZE_T dwSize,          // size of the region
  DWORD flNewProtect,     // desired access protection
  PDWORD lpflOldProtect   // old protection
);
2012-5-17 23:51
0
雪    币: 31
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
能具体一点吗,我不太明白这个API的作用
如果想要实现我的功能那4个参数应该怎么填?
能给个例子吗  多谢!
2012-5-18 09:15
0
雪    币: 615
活跃值: (172)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
6
DWORD dwOldProtect = 0 ; // 保存原属性
DWORD flNewProtect = E0000020; // 你要改的的节属性是E0000020吧?
VirtualProtect ( lpAddress, dwSize, flNewProtect, &dwOldProtect ) ; // 修改属性,flNewProtect是新属性,dwSize是修改的大小,从lpAddress开始偏移

/** 亲,指定区域属性已经改变! **/

VirtualProtect ( lpAddress, dwSize, lpflOldProtect, &lpflOldProtect ) ; // 还原之前的属性
2012-5-18 11:57
0
雪    币: 23
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
/设置区段属性
#pragma comment(linker, "/section:.data,RWE")
在LodePe里看到的就是E0000040,其中RWE是可读、可写、可执行的意思
R:readable
W:Writable
E:executable

以前写木马用到的...
2012-5-18 12:14
0
雪    币: 615
活跃值: (172)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
8
对的,在有源代码的情况建议这样写,

在写全局dll的时候经常用到这条指令创建可读写的共享数据节
2012-5-18 20:13
0
雪    币: 31
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
#pragma comment(linker, "/section:.data,RWE")
额  这个是C++的命令吗?  如果是用汇编的话应该怎么写?
2012-5-19 12:44
0
雪    币: 31
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
用win32汇编怎么设置呢?

如果用virtualprotect前两个参数地址和大小应该怎么填?
2012-5-21 09:48
0
雪    币: 23
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
偶是大白菜……汇编刚刚入门,这个不知道了额。不行去百度谷歌必应。。。
2012-5-21 11:07
0
雪    币: 615
活跃值: (172)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
12
亲,你百度一下咯,
virtualprotect 第一个参数lpAddress是起始地址,dwSize是大小
2012-5-21 11:12
0
游客
登录 | 注册 方可回帖
返回
//