小鸟伊人 发表于 2010-6-11 01:57:02

新手,刚写了一个小小的病毒雏形.... 开心,分享一下

好晚了,哎哎... 不过刚把俺的小小病毒调好.... 有点兴奋啊...
这个病毒其实很简单.... 功能也很有限,所以不要笑话哈. 好吧, 现在来简单的说一下原理吧.说简单一点就是在一个PE文件里面添加自己的代码,执行一些见不到人的事情,嘿嘿... 关于PE文件结构这里就不详细阐述了,这脱壳论坛不知道PE文件结构不现实啊,呵呵
一开始当然是要打开所需要的exe文件了,当然我这里只是以普通权限打开的,打开以后就来判断该文件是否是已经被感染的文件,如果是的话,自然就不需要进行重复感染了. 打开以后就是判断该文件是否有足够的空间来添加一节表, 如果没有空间, 那就又失败了{:2_74:} ,很多的不足,还需要继续努力啊.... 打开文件以后就把文件定位到程序的映射入口点, 将它的值替换为,自己代码的执行处...然后在自己代码的结尾调回来就万事大吉了... O(∩_∩)O哈哈~
写到这里就成功一半了,虽然听起来比较简单,但是写起来还是有那么点问题啊,因为我没搞清楚那个jmp指令,纠结了好一阵子....
如果要实现自己程序的功能,就需要使用winapi函数了,当然您也可用不用winapi,全用汇编... O(∩_∩)O哈哈~ 对于牛人俺一直都是很崇拜的, 因为那个CreateProcess函数是在kernel32.dll里面,程序由这个函数创建的,具体的过程还是比较繁琐的,<windows内核情景模拟分析>里面讲的很详尽... 看那本书很头大... 唉... 主要是水平不够...所以根据esp中的值就能找到kernel32模块, 然后再查找kernel'32.dll的IAT表,就能得到LoadProcess和GetProAddress函数的地址.... 然后一般想要的函数地址就全部拿到了...(具体的代码就附件吧,里面有注释的)
还有一个问题就是重定位了... 因为代码是在其它的程序中运行的,变量的映射地址不一样嘛....
写到这里就差不多了吧... 详见代码吧... (申明下,代码很挫...也没经过优化... 最原始的嘛... 适合新手学习)
{:2_71:}

nevsayno 发表于 2010-6-11 04:37:00

支持一下    呵呵

yuechaomax 发表于 2010-6-11 09:20:56

病毒?
怎么支持啊

heg 发表于 2010-6-11 09:39:46

还是不要贴这些内容的好。如果实在想讨论病毒,请不要贴完整代码。请将附件和谐掉吧。

vison.v 发表于 2010-6-11 09:59:16

感谢分享,下载观赏代码

小鸟伊人 发表于 2010-6-11 10:15:03

回复 4# heg


    这只是一个最基本的病毒罢了,没啥子功能的..... 网上应该很多的吧{:2_68:}

xy9973 发表于 2010-6-11 20:40:50

点击后发现原来要1毛钱

zhaokang852852 发表于 2010-6-17 16:45:31

感染方式
1.pe加节,加shellcode
2.合并,执行时分解,bind

zhaokang852852 发表于 2010-6-17 16:47:36

下不了呀..

wangmin1944 发表于 2010-6-21 22:08:52

用win32汇编实现不错,罗云彬老师的书上介绍过

wei5451532 发表于 2010-6-25 22:42:22

看帖要顶 嘎嘎

douforster 发表于 2010-7-9 21:18:06

我先下载下来看看

jldhwzm 发表于 2010-7-15 09:22:59

过来看看!

teller306 发表于 2010-7-24 22:43:35

看看好不好

layerzoom 发表于 2010-7-25 20:31:33

很不错,三颗药!
页: [1] 2 3 4
查看完整版本: 新手,刚写了一个小小的病毒雏形.... 开心,分享一下