几天前开始,我写了一个关于恶意软件脱壳的工具和方法的系列文章,第一篇的链接在此。每个恶意软件/加壳软件都是不同的,有时不能用通用方法脱壳。但有时可以找到他们共有的特征。比如,加壳软件经常使用弱加密算法,破解这些算法是可能的。
本文中我会介绍一些基于非常简单的加密学原理的方法,这些方法可以破解加壳软件使用的弱加密算法。虽然这些破解方法很简单,但是对大量的恶意软件家族和加壳软件仍然很有效,可以自动的脱壳一些恶意软件。
首先,我必须声明这些方法不是新的,已经用了很久。这是一些有关的文章和工具:
《Principles and practice of x-raying》,最好的也是最早的相关文章,作者Peter Ferrie。
《XorSearch》,作者Didier Stevens。
《Decoding XOR shellcode without a Key》,作者Chris Jordan。
《UnXor》,作者Tomchop。
《Deobfuscating Embedded Malware using Probable-Plaintext Attacks》(KANDI工具),作者Christian Wressnegger, Frank Boldewin和 Konrad Rieck。