首页
社区
课程
招聘
关于win32程序的问题
发表于: 2006-3-10 15:58 4475

关于win32程序的问题

2006-3-10 15:58
4475
我这几天写了个小程序 是向一个PE文件写入一段代码的
如下:
………………
_addcode:
call _delta
_delta:
pop ebp
sub ebp,offset _delta
jmp _step
xor eax,eax
push eax
push dword ptr[ebp+tit1]
push dword ptr[ebp+meg1]
push eax
call MessageBoxA
mov eax,12345678h
org $-4
oldEip dd ?          //@@@@
add eax,12345678h
org $-4
imagebase dd ?
jmp eax
tit1  db  '这是一个小东东',0
meg1  db  '文件操作完成',0
size_of_addcode dd $-_delta
…………
我省略了其它的代码  省略的部份很简单  是打开那个PE  然后对PE头操作  但是问题出现了  那就是:
我编译成功了 可是一运行就会出错,我用OD载入看了一下  它产生了一个异常
它是不让我向上面的@@@@位置写数据  我想问问为什么  怎么解决呢

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

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 70
活跃值: (74)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
其实我就是问如下一个问题:
.586
.flat,tiny
option casemap:none
.data
……
.code
…………
fsg1 dd 00000001h
…………
如果我想在程序改变fsg1的值为什么不行呢
2006-3-10 21:25
0
雪    币: 209
活跃值: (45)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
code段不能写
用virtualprotect调整为可写属性
2006-3-10 23:03
0
雪    币: 70
活跃值: (74)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
我想通过修改PE头中的文件属性来改变
但是改完后还是不让写  为什么?
是不是要我先关了句柄  然后再打开才能生效呢
2006-3-11 09:36
0
游客
登录 | 注册 方可回帖
返回
//