看了win98病毒原理制作后,有很多问题和感想,大伙儿一起讨论讨论
本人没编过汇编程序,对汇编指令也不了解,但是某天看了彬整理的文档,就是那个帮助大杂烩,简直太吸引人了,看了那篇暴力搜索api函数地址的文章,被深深的打动了,那种想法充满了想象力和创造力,还有那个exe自删除的做法,太神奇了。win98病毒制作原理的代码看了,有很多地方不清楚,特别是很多技巧性的地方,大伙儿能讨论讨论为什么这样写,还有其它的代替方法吗。其实估计有很多地方需要自己调试才能想通是怎么回事,大家都知道只有调试才能明白程序是怎么工作的,特别是程序执行的机制,请高手达人们说说调试的技巧(对我们菜鸟),先提出我现在有的疑问,大伙儿有的再加
因为只看了几天的汇编,提出的问题大家不要见笑,呵呵
1.BadDay SEGMENT PARA USE32 'BadDay'
assume cs:BadDay,ds:BadDay
vstart:
push ebp
push esp
call nstart
nstart:
;;;;;;;;;;;;;
pop ebp
sub ebp,offset nstart
这里use32指什么,不太明白,还有请高手详细讲解一下这个偏移差的原理
(call nstart
nstart:)这两句看到是为了迷惑反编译的,是这样吗
2.; * 更改程序入口地址 *
cmp now_basein[ebp],0
jnz gonext
mov now_basein[ebp],401000h
gonext:
cmp des_basein[ebp],0
jnz change
mov des_basein[ebp],401000h
change:
mov eax,now_basein[ebp]
push des_basein[ebp]
pop now_basein[ebp]
mov des_basein[ebp],eax
这里的401000h是怎么来的,不明白,change下的是两个地址对换,对吧
3.先跳过去问一个最迷惑的问题
vCreatefile:
mov jumpaddr[ebp],0BFF77B5BH
jmp jumpaddr[ebp]
象这个 函数的地址0BFF77B5BH怎么来的,还有
push 0
push FILE_ATTRIBUTE_NORMAL
push OPEN_EXISTING
push 0
push FILE_SHARE_READ+FILE_SHARE_WRITE
push GENERIC_READ+GENERIC_WRITE
lea eax,FindData[ebp].cFileName
push eax
call vCreateFile
详细讲解一下这种调用函数的方法,参数是怎么传递给函数的
先问到这儿吧,高手们给咱们讲讲课,呵呵
因为只看了几天的汇编,提出的问题大家不要见笑,呵呵
1.BadDay SEGMENT PARA USE32 'BadDay'
assume cs:BadDay,ds:BadDay
vstart:
push ebp
push esp
call nstart
nstart:
;;;;;;;;;;;;;
pop ebp
sub ebp,offset nstart
这里use32指什么,不太明白,还有请高手详细讲解一下这个偏移差的原理
(call nstart
nstart:)这两句看到是为了迷惑反编译的,是这样吗
2.; * 更改程序入口地址 *
cmp now_basein[ebp],0
jnz gonext
mov now_basein[ebp],401000h
gonext:
cmp des_basein[ebp],0
jnz change
mov des_basein[ebp],401000h
change:
mov eax,now_basein[ebp]
push des_basein[ebp]
pop now_basein[ebp]
mov des_basein[ebp],eax
这里的401000h是怎么来的,不明白,change下的是两个地址对换,对吧
3.先跳过去问一个最迷惑的问题
vCreatefile:
mov jumpaddr[ebp],0BFF77B5BH
jmp jumpaddr[ebp]
象这个 函数的地址0BFF77B5BH怎么来的,还有
push 0
push FILE_ATTRIBUTE_NORMAL
push OPEN_EXISTING
push 0
push FILE_SHARE_READ+FILE_SHARE_WRITE
push GENERIC_READ+GENERIC_WRITE
lea eax,FindData[ebp].cFileName
push eax
call vCreateFile
详细讲解一下这种调用函数的方法,参数是怎么传递给函数的
先问到这儿吧,高手们给咱们讲讲课,呵呵
...全文
相关推荐
Win98Boot
NND,这是我自己曾经用过的最好的盘了.有CDROM驱动.
Win98关机卡顿问题解决方案手册
Windows 98作为微软早期推出的图形化操作系统,凭借其较好的硬件兼容性和用户界面,曾在个人计算机普及初期发挥了重要作用。然而,随着使用时间的推移,许多用户在执行关机操作时,常常遭遇“正在关机”界面长时间无响应的问题,甚至需要强制断电才能完成关机。这种现象不仅影响用户体验,还可能造成系统文件损坏或数据丢失。从系统机制来看,Win98采用的是混合16位/32位的内核结构,其关机流程涉及多个系统组件的协调,包括服务终止、驱动卸载、注册表写入等关键步骤。
win98启动盘制作
制作启动盘文件。
Win98 USB万能驱动
Win98 USB万能驱动 .
win 98补丁包
所有Windows 98的补丁,包括Windows 98SE的更新。


