首页
社区
课程
招聘
一个老古董: 33行C代码实现bat病毒的又一方法。
2006-8-15 18:49 4930

一个老古董: 33行C代码实现bat病毒的又一方法。

2006-8-15 18:49
4930
找到一个老古董: 33行C代码实现bat病毒的又一方法。

受到论坛帖子《batch病毒之一》( http://bbs.pediy.com/showthread.php?s=&postid=215980#post215980 )的提示。

我想起了几年前写的一个程序。那个时候还是TC2时代。
(平时经常用到这个编译好的exe程序,但是源代码失帙已久,花费了九牛二虎之力才从QQ因盘上找到了其中一个版本)

这个程序可以把任意一个输入文件转化成.bat文件,例如
存在一个greet.vbs,内容如下(由于我不懂basic,更不懂VBS,只会用msgbox,乱写一个)内容如下:

msgbox("Hello World!")

经过处理后成为 greet.bat:
-------------------------------
echo off
cls
debug <%0 >nul
copy wcr.wcr greet.vbs
del wcr.wcr
exit
e100 6D 73 67 62 6F 78 28 22 48 65 6C 6C 6F 20 57 6F
e110 72 6C 64 21 22 29
n wcr.wcr
rcx
16
w
q
--------------------------------
从DOS时代走过来,熟悉batch的读者已经明白了其中的原理了把
呵呵,可以在中间加上一句,
start greet.vbs
成为:
==================
echo off

cls
debug <%0 >nul
copy wcr.wcr greet.vbs
del wcr.wcr
start greet.vbs
exit
e100 6D 73 67 62 6F 78 28 22 48 65 6C 6C 6F 20 57 6F
e110 72 6C 64 21 22 29
n wcr.wcr
rcx
16
w
q
----------------------------
如果你把greet.vbs写成恶意程序的话…………(嘻嘻,只是打个比方。)

===================================================================================================
当年编写这个程序的目的。

关于写这个程序的目的,回想起来是为了在不能上传文件的论坛上(比如VCOK论坛)或者别人的QQ下线后仍然可以发送文件用的。

至于现在的QQ,已经实现这个功能稍稍麻烦一点。大概QQ新版本中将 回车+换行 只保留了回车(这只是我的猜想,可能事实不完全如是)。虽然复制到“记事本”后还能正常显示换行,但COMMAND.COM不承认.bat中的这种换行。所以应该把.bat的内容从QQ上复制下来保存后。先用“写字板”等软件打开,会自动修复成换行+回车。再运行就可以了。

不过至今在不能上传文件的论坛上仍然十分有用。

=================
关于BUG:
        1、这个程序可以把任何<64K的文件打包成.bat。至于>64K的文件――自己看着办吧。
        2、仔细看看生成的.bat,发现若要插入DOS命令,应该插入在开头的那段。而且插入代码的首字母不能和DEBUG的命令重复。
        3、经过多年的使用,至今未发现致命BUG。(不过,可能我把原来在TC下编译的代码放入VC编译时候出现了一些差异。)
        4、这个程序是在98下开发测试的,现在大都使用XP,不能保证100%兼容。有时候会遇到一个BUG:可能在XP下运行生成的.bat时候,偶尔会特别慢。(我不知道这个BUG是怎么产生的,似乎是XP特有的,或许不是这个程序的BUG,仅仅是操作系统的问题)

======================
只是趁这个机会翻阅一下这个老古董。
原本认为会是断很长的代码,找到后发现居然只有33行。这么段的程序相信不必注释也能十分明白。

程序以及代码下载:

[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。

上传的附件:
收藏
点赞0
打赏
分享
最新回复 (3)
雪    币: 194
活跃值: (71)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
fangxin 2006-8-16 10:20
2
0
不知道batch, 看不懂.
雪    币: 217
活跃值: (99)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
dwing 1 2006-8-16 18:03
3
0
利用了DEBUG程序,不算真正的BAT病毒,我见过纯BAT病毒,当然只能感染其他的BAT文件.
雪    币: 249
活跃值: (10)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
wiaa 6 2006-8-16 18:54
4
0
当然,写这个程序不是为了实现病毒。
只是表明可以利用DEBUG导入的方法来实现和 rem +bincode 一样的功能。

上面说过,这个程序主要目标是为了在QQ下线(隐身)后传递文件;或者在某些不能上传文件的论坛上共享文件用的。
游客
登录 | 注册 方可回帖
返回