首页
社区
课程
招聘
[旧帖] [求助]病毒模板-ollydbg 访问违规 0.00雪花
发表于: 2007-8-16 10:40 5860

[旧帖] [求助]病毒模板-ollydbg 访问违规 0.00雪花

2007-8-16 10:40
5860
本人刚开始学病毒  
看懂了这个简单病毒模板,用masm32编译成功后,却不能运行。用ollydbg调试
发现了问题所在
具体代码如下:
.code   ;所有代码都在code段中
APPEND_CODE        equ        this BYTE   

Virus:
buffer          db 1024 dup (0)
hKernel32         dd 0    ;这里是hkernel32的定义并且该变量地址为00401400
_GetProcAddress dd 0
nGetProcAddress db 'GetProcAddress',13,10,0
nLoadLibraryA   db 'LoadLibraryA',0
_LoadLibraryA   dd 0
nKernel         db 'kernel32.dll',0
cdw                dd 0

VStart:
call @F
@@:
pop ebx
sub ebx,offset @B   ;重定位
invoke _GetKernelBase,[esp]    ;_GetKernelBase为获取kernel的基址
mov  hKernel32[ebx],eax   ;这里出现  访问违规:正写入到[00401400]  --使用shift/f7/f8忽略程序异常
      

ps:本人已经看了先前关于访问违规的提问,不过都不适合我这种情况,感激您的解答。。。

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

收藏
免费 0
支持
分享
最新回复 (10)
雪    币: 255
活跃值: (266)
能力值: ( LV12,RANK:220 )
在线值:
发帖
回帖
粉丝
2
mov  hKernel32,eax
这样可以不?
为什么要hKernel32[ebx]?
我是菜鸟
2007-8-16 11:35
0
雪    币: 133
活跃值: (22)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
[QUOTE=WiNrOOt;346414]mov  hKernel32,eax
这样可以不?
为什么要hKernel32[ebx]?
我是菜鸟[/QUOTE]
我是鸟蛋
2007-8-16 11:46
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
不可以,这时的 ebx是0;
mov  hKernel32,eax
还是给00401400地址赋值

hKernel32[ebx]
一种寻址方式,表示基址为hKernel32地址,偏移 [ebx]的地方
结果为  offset  hKernel32 + [ebx]
2007-8-16 11:52
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
我的意思是,即使那样改了还是不行

ps :谢谢回复 :)
2007-8-16 11:53
0
雪    币: 255
活跃值: (266)
能力值: ( LV12,RANK:220 )
在线值:
发帖
回帖
粉丝
6
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 在内存中扫描 Kernel32.dll 的基址
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_GetKernelBase    proc
    assume fs:flat
    push esi
    mov eax,fs:[30h]
    mov eax,[eax+0ch]
    mov esi,[eax+1ch]
    lodsd
    mov eax,[eax+8]
    pop esi
    Ret
_GetKernelBase EndP

;重定位   
    call    @F
    @@:
    pop    ebx
    sub    ebx,offset @B
   
    ;获取Kernel32.dll基址
    call _GetKernelBase
    mov    [ebx+hDllKernel32],eax
2007-8-16 12:07
0
雪    币: 214
活跃值: (40)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
很明显,text段没写权限

用参数
link /SUBSYSTEM:WINDOWS /section:.text,RWE
2007-8-16 12:37
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
不好意思,我还是不懂
为什么没有写权限?
2007-8-16 16:38
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
知道了,谢谢 。。。。
2007-8-16 17:14
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
知道了原因
用了您的方法,不过还是提示同样的错误
2007-8-16 17:19
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
就是这样
问题解决了
谢谢 :)
2007-8-17 09:41
0
游客
登录 | 注册 方可回帖
返回
//