- 主题
- 7
- 帖子
- 116
- 精华
- 2
- 积分
- 345
- C币
- 244 枚
- 在线时间
- 101 小时
- 注册时间
- 2010-1-18
- 最后登录
- 2012-2-2
- 性别
- 保密

- 主题
- 7
- 帖子
- 116
- C币
- 244 枚
- 在线时间
- 101 小时
|
写病毒不是光学一个语言就能解决的事,C只是一个工具
写个病毒不是想象中只要学会一个语言就能写个好病毒了,首先真正的病毒不是用来破坏的只是强悍的人用来炫耀技术的,不像现在垃圾病毒满天飞动不动就死机断网。写一个好的病毒不容易,要掌握的知识比较全面才行。
先把基础打扎实,熟练了以后写病毒自然可以得心应手
如果要写WINDOWS平台的病毒(这个平台用的人多,用的人多自然病毒也多,就像人群聚集的地方容易得感冒一样),首先要熟悉C语言,这个是基础,没办法,其次要会X86的汇编,要调试程序,有时候也要对部分系统调用调试,这个也没办法,必定要学,写一个好的稳定的病毒,一定要掌握调试技术,不会调试就无法确定BUG出在哪,怎么去FIX这个BUG,语言方面掌握了,调试技术掌握了,那就要了解WINDOWS API了,不熟悉API就没法写出在WINDOWS下得心应手的程序,往往实现一个小功能而不知道怎么下手,搞个MSDN,把里面的索引条目看一边基本了解API有哪些,分类是怎么样就行了,反正要用的时候再查MSDN就行了,了解了API,基本已经快成功一半了,然后就要了解一下感染了,病毒最主要传播方式是感染文件,蠕虫除外,这个靠漏洞在网络上复制自身,不过现在病毒和蠕虫基本不区分,两者边界已经不清了,感染文件一般都是选择可执行文件,这样才有机会执行嘛~,那就是去看看微软PE文件的格式了,NE就不用了解了,这个格式早淘汰了,WIN3.1的时代才用这个。之后就是多要练习编程的技巧了,有些东西光靠C是不行滴,还要汇编配合,那就看看编译器怎么支持混编了,多用用VC,VC毕竟是微软的,和MASM32可以公用COFF格式的OBJ,对写病毒很有利。像重定位之类技巧性比较强的还是用汇编实现比较好,病毒最重要的指标是体积小,体积大了事情就不好办了,这就是为什么很多病毒用汇编写的,用C写也一样,行内汇编只是起一个用最少的语句完成最多工作的作用嘛,掌握这些,写一个病毒基本没大问题,想深入的话,还是要看保护模式下的编程和DDK,进内核才是王道,和杀毒可以在同一个层面上对抗,不然RING 3是无法对抗RING 0的,基本就这些,要不怕苦,不要中途放弃,这个才是关键,要掌握的东西比较,只要有恒心,发现写病毒这个理想还是很好,有追求,可以学到很多知识。
PS:
LINUX下的病毒也类似,只是不再是PE格式的文件了,要看ELF格式了,还有LINUX的发行版太多,病毒会很大程度上不兼容,所以最理想的平台还是WINDOWS |
|