📄 大学生造病毒.txt
字号:
大学生造病毒
引起国内广泛关注
本报记者 李学凌
近日,国内许多用户受到一种恶性病毒侵害,引起社会广泛关注。据查,这个被命名为“秘密”(YAI)的病毒是由重庆邮电大学计算机系的姓“杜”的大学生编写的,并且在他自己的网站上公布。据悉杜某已经受到公安机关的审查。虽然目前还没有正式拘捕,但是一个法律界人士告诉记者如果全部事实没有疑问,杜某可能会被判处3至5年的有期徒刑。如果以上判断成为事实,对我国的电脑教育,计算机系统安全教育和法律教育都是一个拷问。
“秘密”病毒基本上是前一个阶段引起国际巨大影响的“后门”黑客程序和CIH病毒的一个混合体。此病毒运行后直接导致许多文件无法使用,服务器系统会出现很多异常情况。“秘密”病毒是一个文件型病毒,能够通过软盘和互联网等多种途径传播。“秘密”病毒感染Windows系统的可执行文件后,初期系统没有任何特殊现象,黑客可以在没有任何征兆的情况下利用病毒的一些功能通过互联网之侵入系统。同时此病毒自动搜索系统内的可执行文件,并将其感染。因为病毒编写的一些缺陷,被感染文件运行几次后,程序就无法正常工作,许多服务器因此停机。病毒发作时,程序的图标无法正常显示,颜色变得模糊不清。一些文档(如execl,word)和图形文件(如*.bmp)的图标会丢失。
如果遇到了以上情况,用户尽快查找自己的计算机硬盘中是否存在“*.YAI”文件,如果有,说明病毒已被激活。这时用户应及时采取措施,以免造成更大的损失。如果你杀毒软件“KILL”请赶快将软件升级到V5.11版本以上,可以预防和杀死“秘密”病毒。
特洛伊木马在计算机安全领域占有重要的一席之地,早在UNIX时代,这种特洛伊木马程序就已经屡见不鲜。它是一个后门程序,也就是说它隐藏在目标系统中,为某些非法访问者不通过任何安全认证而任意访问其它用户的计算机资源大开方便之门。
从“秘密”病毒组成上它大体可被分为两个部分--服务器端和客户端。黑客一般会将“秘密”病毒的服务器端软件很巧妙地伪装成特洛伊木马,然后在Internet上广泛播(比如通过电子邮件)。由于特洛伊木马具有很强的欺骗性和隐蔽性,所以一般用户在收到带有“秘密”病毒服务端软件的邮件后,很有可能会很疏忽地运行,从而把它安装到自己的计算机中。与此同时,黑客使用客户端软件在互联网上寻找“受害者”,一旦发现有人感染“秘密”,黑客就使用向目标发送指令,对被感染的电脑进行控制,达到他们窃取数据、破坏系统的目的。用户会在不知不觉的情况下,被黑客入侵。其方便程度就像从身边的另一台计算机里提取资料。
目前,KILL公司的病毒测网已经收到数百例染毒报告,是继CIH病毒爆发之后,今年收到染毒报告最多的一次。估计全国受到感染的电脑数量很高。因为“秘密”病毒同时又是黑客程序,会丢失重要资料,计算机系统也可能遭到破坏,所以危害性比一般病毒更大,不能轻视。
大家好!我是菜鸟一名(菜中之菜^_^)!说真的!本人汇编水平不高!刚学会了这些东东只想在这里与大家学习学习!在这里看到的关于怎样
编写钩子的文章!大多数都是用VC++编写的(可能以前已经有高手们用汇编写过!只是我没有看到而已!呵呵!请不要见怪)现在我来简单介
绍怎样用WIN32ASM来编写超简单钩子!(本人是第一次写这些东东的!难免有一些不对的地方!请高手们指正指正。)
我使用的工具:Masm32v8(安装到C:\Masm32v8)+记事本
第一步,执行文件源程序的建立。打开记事本,输入以下的源程序,保存为hook.asm,先不要编译!
=========================================
.386
.model flat, stdcall
option casemap :none
include windows.inc
include user32.inc
include kernel32.inc
includelib user32.lib
includelib kernel32.lib
include hookdll.inc
includelib hookdll.lib
.data
ClassName db 'MyClass',0
Caption db '我的第一个窗口',0
.data?
hInstance dd ?
hWnd dd ?
.code
GoGo:
call WinMain
invoke ExitProcess,NULL
WinMain proc
LOCAL wc:WNDCLASSEX
LOCAL msg:MSG
invoke GetModuleHandle,NULL
mov hInstance,eax
mov wc.cbSize,sizeof WNDCLASSEX
mov wc.style,CS_HREDRAW or CS_VREDRAW
mov wc.lpfnWndProc,offset WndPro
mov wc.cbClsExtra,NULL
mov wc.cbWndExtra,NULL
mov eax,hInstance
mov wc.hInstance,eax
invoke LoadIcon,NULL,IDI_APPLICATION
mov wc.hIcon,eax
mov wc.hIconSm,eax
invoke LoadCursor,NULL,IDC_ARROW
mov wc.hCursor,eax
mov wc.hbrBackground,COLOR_WINDOW+1
mov wc.lpszMenuName,NULL
mov wc.lpszClassName,offset ClassName
invoke RegisterClassEx,addr wc
invoke CreateWindowEx,\
NULL,addr ClassName,\
addr Caption,\
WS_OVERLAPPEDWINDOW,\
CW_USEDEFAULT,\
CW_USEDEFAULT,\
CW_USEDEFAULT,\
CW_USEDEFAULT,\
NULL,\
NULL,\
hInstance,\
NULL
mov hWnd,eax
invoke ShowWindow,hWnd,SW_SHOW
invoke UpdateWindow,hWnd
.while TRUE
invoke GetMessage,addr msg,NULL,0,0
.break .if (!eax)
invoke TranslateMessage, addr msg
invoke DispatchMessage, addr msg
.endw
mov eax,msg.wParam
ret
WinMain endp
WndPro proc hwnd:DWORD,uMsg:DWORD,wParam:DWORD,lParam:DWORD
.if uMsg==WM_DESTROY
invoke PostQuitMessage,NULL
.elseif uMsg==WM_CREATE
invoke installhook
.else
invoke DefWindowProc,hwnd,uMsg,wParam,lParam
ret
.endif
xor eax,eax
ret
WndPro endp
end GoGo
=========================================
第二步,建立一个批处理文件(用记事本建立就可以了,文件名:make.bat)这个批处理文件的功能是用来编译执行文件的,内容如下:
=========================================
set include=c:\Masm32v8\Include
set lib=c:\Masm32v8\lib
set path=c:\Masm32v8\Bin
ml -c -coff hook.asm
link /subsystem:windows hook.obj
=========================================
第三步,建立DLL源程序(文件名:hookdll.asm),同样打开记事本输入源程序:
=========================================
.386
.model flat,stdcall
option casemap:none
include windows.inc
include user32.inc
include kernel32.inc
includelib user32.lib
includelib kernel32.lib
.data
msgTitle db "提示",0
msgText db "win32asm钩子实例",0
.data?
hInstdll dd ? ;dll 句柄
hHook dd ? ;钩子句柄
.code
DllMain proc hInst:HINSTANCE, reason:DWORD, reserved1:DWORD
.if reason==DLL_PROCESS_ATTACH
push hInst
pop hInstdll
.elseif reason==DLL_PROCESS_DETACH
call uninstallhook
.endif
mov eax,TRUE
ret
DllMain endp
showme proc nCode:DWORD,wParam:DWORD,lParam:DWORD ;简单的钩子函数
invoke CallNextHookEx,hHook,nCode,wParam,lParam
.if wParam==79h
invoke MessageBox,NULL,addr msgText,addr msgTitle,MB_OK
.endif
ret
showme endp
installhook proc ;安装hook的子程序
invoke SetWindowsHookEx,WH_KEYBOARD,addr showme,hInstdll,NULL
mov hHook,eax
ret
installhook endp
uninstallhook proc ;清除hook的子程序
invoke UnhookWindowsHookEx,hHook
ret
uninstallhook endp
end DllMain
=========================================
第四步,建立扩展名为.DEF的文件hookdll.def,这文件是用来说明DLL中哪些函数可以给应用程序调用,它连跟DLL目标文件一齐链接,也可以
用记事本编写:
=========================================
LIBRARY hookdll
EXPORTS installhook
EXPORTS uninstallhook
=========================================
呵呵!就这么几行!上面的LIBRARY关键字就是DLL的名!EXPORTS就是说明哪些函可以给应用程序调用
第五步,建立扩展名为.inc的文件hookdll.inc,这个文件用于说明DLL中函数的参数跟类型,我因为太懒了~!大多数这些文件我都是用记事本
写的!编译执行文件的时候需要它哦!~~~.inc文件的内容如下:
=========================================
installhook proto
uninstallhook proto
=========================================
第六步,呵呵!是不是有点累?好了好了!剩下最后要建立的一个文件!其实建立这些文件只是为了方便而已(费话少说)~!建立用于编译
和链接DLL的批处理文件(文件名:makedll.bat),内容如下:
=========================================
set include=c:\Masm32v8\Include
set lib=c:\Masm32v8\lib
set path=c:\Masm32v8\Bin
ml -c -coff hookdll.asm
link /dll /subsystem:windows /def:hookdll.def hookdll.obj
=========================================
好了!所需要的文件建立好了!把刚才建立的文件都放在同一目录中!先运行用于编译DLL的批处理文件,如果无出错既话!在目录会产生四个
文件:hookdll.obj,hookdll.exp,hookdll.lib,hookdll.dll!如果没有产生这些文件!就说明出错了~555555!hookdll.dll已经产生出来的话
就运行用于编译执行文件的批处理!成功的话就会产生出hook.exe了!运行hook.exe!按F10!有信息框(内容为:win32asm钩子)弹出的话!
恭喜你!你用win32asm编写的超简单钩子出炉了~!爽
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -