病毒样本,就是病毒文件本身,一般取exe文件,怎么取得——不就是找到病毒的exe文件,copy下来压缩保存吗,汗……
从程序的exe文件,并不能唯一地还原成其源代码(换句话说,编译过程不是完全可逆的)。
首先如果有加壳加花指令等处理,要先脱壳去花。一般的壳可以用脱壳工具,更复杂的手工脱壳,有时就很难脱出来了。
之后用反汇编调试工具,如OD等,载入,看它的反汇编代码
或者用反编译工具(与编写程序的语言相对应)反编译出源文件(这样的源文件并非原貌,有很多地方仍然只能保留汇编代码,原来的程序project文件也不可能完全还原)
更多的东西,我说不出来,因为以上说的只是笼统概念,真正做到具体的话,我连皮毛都没学到(编程不行啊,汇编更不行啊……)
而且,病毒的逆向工程,其实也就是软件程序的逆向,涉及到破解等问题。这在卡卡社区中是不允许讨论的。甚至于受到国家法律所限制,是不太可能公开具体地说明的。
我甚至不知道应该将你的帖子留在这个版面还是转移到其他版,转移到程序版吧,说到病毒和逆向工程,又是比较特殊和敏感的……
最后说一句,在论坛上混久了,你就会明白,其实要自己解决病毒,并不一定要懂得以上这些逆向工程。分析病毒和解决病毒还是不一样的。
反病毒论坛的目的,是要教会大家自己DIY,让一般的用户也具备一定的对付病毒的基础能力,而不是用这些计算机软件和计算机语言的知识把这一切抬到高不可攀的地位,将用户引向一个个专业壁垒。