Windows下盗取帐号密码的木马程序的设计 摘 要 随着互联网技术的迅猛发展,网络给人们带来了很多便利,日益发达的网络产品越来越多。伴随这样的发展,随之而来的是越来越多的帐号与密码,而这些帐号与密码背后伴随的是很多的经济价值。在这种状况下,很多人想尽一切办法的去找取配套的密码与帐号,所以为了使帐号与密码更加安全,有必要去研究盗号木马的工作原理。 文章从木马的发展历史出发,介绍了木马的特点和工作原理,详细分析并设计实现了一个基于windows操作系统的盗号木马软件。在具体设计实现中,首先对本软件具有的功能和特点进行了分析,将系统划分为自动隐藏、自动运行、记录键盘三大主要模块,并选择了合适的开发环境;其次根据软件工程的要求做了逻辑设计;最后是编码实现和测试,并且对测试结果进行了分析。 关键词:自动隐藏;自动运行;记录键盘The Design of Trojan Program for Account Number Purloining in the Windows OS Abstract With the development of the Internet, much facility has been brought to us by more and more network products. More and more account numbers and passwords have been appearing with the development. They could bring a great number of economic values. In this case, many people begin to try their best to find the suited account numbers and password. So in order to make them safe, it’s necessary to learn the theory of them. This thesis starts with the Trojan development history, introducing its features and working principle, giving a detailed analysis and designing of stealing software based on windows operation. During the design, it first analyzes the software's functions and features, dividing the system into three modules: automatic concealment, automatic running and record the keyboard. It chooses the proper development environment, and makes a logic design based on the requirements of the software project; finally it conducts the coding and tests and then analyzes the result of test. Key words:automatic concealment;automatic running;keyboard recording 目 录 论文总页数:25页 1 引言 1 1.1课题背景 1 1.2 木马发展史 1 1.2.1 第一代木马:伪装型木马 1 1.2.2 第二代木马:AIDS型木马 2 1.2.3 第三代木马:网络传播性木马 2 1.3 本课题研究的意义 2 2 需求分析 3 2.1 木马的分类 3 2.2 木马的特点 4 2.2.1隐秘性 4 2.2.2 自动运行性 4 2.3 功能需求分析 4 2.3.1 自动隐藏 4 2.3.2 自动运行 5 2.3.3 键盘记录 5 2.4 性能需求 6 2.5 程序开发环境介绍 6 3 木马程序的设计与实现 7 3.1 设计 7 3.1.1 设计逻辑图 7 3.1.2 具体功能划分 7 3.2 实现 8 3.2.1 键盘记录模块的实现 8 3.2.2 自动运行模块的实现 12 3.2.3 自动隐藏模块的实现 14 4 程序测试 15 4.1 测试环境 15 4.2 测试截图及其说明 15 4.3 测试结果 17 结 论 18 参考文献 19 附 录 20 致 谢 24 声 明 25图3 自动运行流程图 注册表是系统的核心地方,管理着系统的正常运行,一旦出了问题,那么轻则导致系统运行出问题,重则导致系统崩溃,所以一般的用户不敢碰它。同时它又控制系统的启动,所以为了达到自动运行的目的,木马往往会修改系统的注册表,以达到自启动的目的。木马往往修改的地方有以下几个地方: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion下的五个主键:Run, RunOnce ,RunOnceEx ,RunServices 和RunServicesOnce. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion下的Run主键 该模块的实现方法是将文件写入注册表的 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion下的Run主键中。 在写入开机自动运行项后,又出现一个新的问题,如果每次运行的时候都写入一次,那么这必然大大降低程序在运行时的安全系数。因为在写入的时候,可能前面几次能够无声无息的写入,但是经过一段时间后,被用户发现是必然的事情。所以在这里,设计加入了一个判断。它能够先判断是否已经在于注册表开机自动运行项中,如果存在了就不用再写入,如果不存在就写入开机自动运行项中。该判断的流程图如图4(具体代码见附录):图4 注册表判断流程图 如图所示,程序先判断判断能否打开键成功,能则打开并且继续判断其中的项,不能则写入开机启动项,这里使用的API函数为RegCreateKey。如果经过这次判断没有判断出是否在注册表中,那么程序再判断能否成功获取指定值名字的类型和数据,能则继续进行判断,不能则写入开机启动项,这里使用的API函数是RegQueryValueEx。如果仍然判断不出来,程序继续进行下一步,判断类型是否一样,一样则继续进行判断,否则写入开机启动项。如果还不能,就只有继续判断判断数据是否一样,一样则返回名字,否则写入开机启动项。 经过这样的设计,如果用户没发现开机自动运行项中的改变,那么程序只会在第一次运行的时候进行注册表的写入。而且在用户发现后也将根据情况而定。其实在这里,被发现后程序肯定会不用户消灭,不再具有任何作用。所以进行这次判断,主要是为了降低被发现的概率,从而提高安全性。 3.2.3 自动隐藏模块的实现 在一些系统,为了特定目的,经常要求程序隐藏起来运行,例如DCS(集散控制系统)中的后台监控系统、木马控制程序、源码防拷贝等,以减少被发现、截杀和反汇编的风险。这种功能模块要求程序在运行期间不仅不会在桌面出现,也不允许被操作者从任务管理器列表中发现。 程序隐形的原理 对于一个隐形程序而言,最基本的要求是: 1.不在桌面出现界面。 2.不在任务栏出现图标。 3.程序名从任务管理器名单中消失。 对于第一点,可以将Form的Visible属性设为False。 对于第二点要将图标从任务栏中屏蔽掉,可以把Form的ShowInTaskBar改为False。 对于第三点用App.TaskVisible = False就可以实现 但是最重要的问题出现了,上面的都实现后,我们还要想办法逃脱Administrator的法眼。因为不管你是什么进程Administrator都是可以看见的,而且可以直接给你关掉。这样的话后果可想而知,我们所做的一切努力全都泡汤。当然这一点我也使用了一定的方法去解决,我用的方法是将进程的名字改为与系统进程名字相似。当然在任务管理器中还有点值的我们利用的,那就是在任务管理器中英文字母“O”和数字零即“0”凭肉眼是分辨不出来的。凭着这点我可以把我的程序名字直接写为EXPL0RER.EXE。而大多数情况使用者都会当EXPLORER.EXE来处理。 对于隐藏而言,还有一点很重要的就是源文件的隐藏。源文件的隐藏包括以下两个方面: 1.文件名方面。文件名是程序在计算机里面表现的比较直接的东西,如果用户很清楚的知道了你的文件,那不管你其它的做的有多好,你的程序也将直接的失去所有的意义。程序在这个方面使用的方法也是英文字母“O”和数字零即“0”没有区别的方法。经过这样的文件名编写,就算使用搜索文件的功能只要没弄清到底是字母还是数字。那么源文件也处于安全的状态,用户是没有办法找到源文件的。 2.程序属性方面。在这个方面,没有其它多余的方法,就是将源文件属性设置为“隐藏”。 通过这两个方面的组合,源文件能够伪装成为一个类似于系统文件的文件。当然如果用户查看了该源文件的文件属性,那么也将面临从计算机中消失的命运。
Windows下盗取帐号密码的木马程序毕业论文,课程设计,研究生文献
3995
来源:
Licence:
联系:
分类:
平台:
环境:
大小:
更新:
标签:
免费下载
×
温馨提示
请用电脑打开本网页,即可以免费获取你想要的了。