1、计算机控制这是很常见的,开发一款木马肯定是要具有常用的电脑控制功能,比如:键盘控制,键盘监听,屏幕控制,摄像头控制,文件上传与下载,命令行控制等功能。
2、反安全软件现在的杀毒都是比较智能的,能够分析出大部分病毒特征的代码(比如当你的代码中有键盘控制代码,杀毒软件就说你这个软件是病毒)。而且现在的杀毒软件是宁可误杀一千不会放过一个。所以这部分才是真正的技术难点,因为你开发的病毒相当于要与所有杀毒软件背后的安全工程师较量。这部分一般通过驱动层加载、销毁杀毒软件、破坏杀毒软件、隐藏杀毒软件提示框,做免杀绕过杀毒软件技术实现。
3、反杀毒策略就算你前面做的再好,你的病毒也有被发现的一天,所以你还需要做反杀毒策略,比如:当你的病毒被查杀了怎么办,难道就失去这台电脑了吗?所以一般开发者还会写一个守护线程,当守护线程发现主线程被干掉之后,会自动下载或者启动新的变种木马。这方面一般是使用,双线程或多线程守护,定时线程守护,随机时间扫描等策略。
4、利益与业务无论如何,不管你开发这个软件干嘛,第一位考虑得肯定是利益。所以一个病毒一般还会有一些利益链,这部分的业务就是与开发者的实际获利相关。
5、控制和信息安全作为一个新时代网民,肯定是要注重信息安全的。更别说开发一个控制软件。如果被JC请去喝茶就不好了。所以一般还得增加远程链路、跳板、隧道加密等技术来保证他们不会通过你的病毒找到你。