首页
社区
课程
招聘
在.code段定义变量不能写怎么办?
发表于: 2004-5-19 09:43 4987

在.code段定义变量不能写怎么办?

2004-5-19 09:43
4987
如下面的代码。appBase变量无法写操作。

.586

.model flat, stdcall

option casemap :none  ; case sensitive

include \masm32\include\windows.inc
include  \masm32\include\user32.inc
includelib  \masm32\lib\user32.lib
include   \masm32\include\kernel32.inc
includelib   \masm32\lib\kernel32.lib
include \masm32\include\comctl32.inc
includelib \masm32\lib\comctl32.lib

.code
;******************************程序入口******************************
Start0:

invoke InitCommonControls        ;此处在win2000下必须加入
jmp Start

szStr                db        'aaaaaaaaaaaaaaa',0
appBase                dd        ?

;;------------à>病毒真正入口位置<<---------------------------
Start:
        call _delta
_delta:
        pop ebp   ;;得到delta地址
        sub    ebp,offset _delta           ;以便于后面变量重定位
        mov    dword ptr [ebp+appBase],ebp        ;这里会出错!~!~!~!!

        invoke        MessageBox,0,addr szStr,0,0
        invoke  ExitProcess,0

        end        Start0

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

收藏
免费 6
支持
分享
最新回复 (2)
雪    币: 251
活跃值: (160)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
我用pe修改器把.code段属性定义为可读可写一切正常了。
有没有更好的办法呢,比如编译器设置什么选项什么的/
2004-5-19 11:20
0
雪    币: 392
活跃值: (909)
能力值: ( LV9,RANK:690 )
在线值:
发帖
回帖
粉丝
3
/section:.text
2004-5-19 13:46
0
游客
登录 | 注册 方可回帖
返回
//