文件捆绑与释放分析文档.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
文件捆绑与释放分析文档.doc

文件捆绑与释放分析文档 叶谋润 本实验我承担的是PE文件格式的研究,木马程序的隐藏,第三方机器上的安装等。 10/20日 需求分析: 由于直接发送木马程序,容易被用户察觉,所以考虑将其藏匿于一个伪装文件内,躲过用户的察觉。而杀毒程序会根据木马程序的特征代码,查杀木马,所以在藏匿的时候考虑采取特别的技术,以欺骗杀毒程序。现行的防火墙有的根据行为判断来确认程序对机器是不是构成损害,所以必须使多个文件藏匿到一个伪装文件内的操作以及释放操作躲过检测。 实现的技术: 初步预计,所需要的技术包括:文件的无损读取、多个文件的合并存放、文件信息的无损还原、程序自身的读取。 实现平台: 考虑程序的可移植性(主要是在第三方机器上的兼容性问题),决定采用基于C语言的结构,在VC6.0平台上实现。不使用任何的扩展技术。 10/27日 资料收集 通过两天来对网络的搜索,发现相关的资源非常难以收集。虽然找到一些经典的木马、捆绑释放工具,但是这些无一例外的能被目前几乎所有的杀毒程序发现并查杀。 相关这一方面的资料非常缺乏,几乎没有参考可言。无奈,决定自己重起炉灶,设计自己的捆绑释放算法。 11/1 考试临近,时间不多,知识运用以前积累的C语言对文件流的操作经验,编写了一个相当简单的文件和程序,实现了两个.exe格式文件的合并,使用技术只是简单地将一个exe加到另一个exe文件的末尾。由于程序简单,并没有留下纪录。 但是发现问题:测试将一个木马程序加载到一个伪装程序之后,仍旧没有办法躲过杀毒程序的查杀。 因此,有了一个对木马程序藏匿的初步想法:是用隔行或者隔字符的藏匿方法,简单而言:若一个程序是:aaaa,另一个程序是bbbb,则合并后变成:abababab,对于两个不等长的文件,则采取将长出的部分直接放到合并文件的末尾的方法,比如:一个程序是:aaaaaa,另一个程序是bb,合并后变成:ababaaaa。 11/10 经过第一次答辩,想法得到杨老师肯定,知道自己没有想错,决定按照这个想法进行下去。 11/20 考试结束,重新开始工作。 初步实现了对于交错文件藏匿算法的实现,将两个.txt格式文件合并成一个txt文件。 程序命名为test1。 该程序仅适用于非可执行性文件的合并,在.exe文件的合并上出现问题,需进一步探索。 11/21 .exe格式文件合并仍未解决,但是提出一种新的藏匿算法。 考虑原算法对文件的打散程度不高,仍旧有大段代码原封不动的出现在伪装后的文件中。所以提出算法如下: 将多个文件按隔位插入的方式进行混合编制,对于长度较短的文件,用空格填充。举例:文件一:aaa,文件二:bbbbb,文件三:cccccc,合并后:abcabcabc bc bc c。 程序命名为:test2。 命名:新算法为:算法一,老算法为:算法二。 优缺点判断: 算法一:优点在于离散程度高,隐密性更强,更加不易被发现 缺点在于合并后文件长度太大,若有n个文件,则合并后总长度为最长文件长度的n倍。 算法二:优点在于文件长度合适,为所有n个文件长度之和。 缺点在于离散程度不高。 11/23 由于没有一点可以借鉴的地方,所以为文件读\写操作的参数进行了穷举调试,最终确定了.exe文件的读取和写入参数。完成了两个.exe文件合并为一个.exe文件的实现。 在调试过程中,无意想到了确定文件长度的方法。于是提出了文件释放的算法: 将两个合并文件的长度分别得到后,加到合并后文件的特定地方,于是在释放时可以通过读取该地址上的数据,得到两个文件的长度以及其他信息,于是可以顺利的释放原文件。 程序被命名为:test3。 11/24 再接再厉,欲实现自身释放的实现,意即:将需要合并的文件加载到drop.exe文件中,然后直接执行drop.exe,即可释放原文件。 遇到问题,通过不断调试,以及对MSDN中相类似主体的参阅,更进一步发现了.exe文件的格式:在每个文件的末尾存在一个接束符:EOF(End of the File),有些读取文件的参数将自动删除EOF,有些则不会,所以读取参数和写入参数需要正确搭配,才能够使文件读取指针能够正确定位。 11/26 继24日解决了关键性的技术问题后,顺利地调试完成了自释放任何格式文件算法的合并和释放实现,具体程序见test4. 由于该次测试仅为了验证提出的自释放算法的正确性,在合并上并未使用算法一、二中的任何一个。 11/28 根据其他组员的进展,了解到最终的木马程序将包括三个文件。于是尝试开发了一个使用算法一合并、使用自释放算法、三个文件合并加载到伪装程序后的程序实现,释放程序还未实现。 程序命名为tmp。

文档评论(0)

gsgtshb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档