复合特征码原理和查找

杀毒软件的复合特征码真是难倒偶们, 但是仔细看还是有规律的

下面给几个图, 因为本人艺术细胞原因 所以点到为止

---------------------------------------------------------------------------------- 比如这一段为程序

-----c--a------b---a----c--d-------b-------------------------------a------d---c------d---a---b- 这是某一个杀毒软件的特征码

abcd 所有都在的情况下, 木马可以被杀到 不管有几个a 或者几个b

X是我们开始的位置 X右面全部归0 X左面还原代码

------c--a------b---a----c-X-d-------b-------------------------------a------d----c------d---a---b-

X以前的代码全部还原, 当还原到第1个d 的时候,abcd同时存在, 木马被杀到 我们找到了第1个d的地址 修改他 然后继续

------c---a------b---a----c----------b-------------------------------a------d-X-c--------d---a---b-

现在来到第2个 d 又形成了abcd同时在 又能被杀到了。 我们就找出第2 个d 改掉

---------a------b---a------c--d-------b-------------------------------a-----------c-----X-d---a---b-

来到了第3个d 又形成了abcd同时在 我们改掉他以后 整个文件只剩abd 不会报警

 

同理 , 我们的X 开始位置 决定了我们可以找到哪个字母 如果从右面开始 先找到的是c

-----c--a------b---a----c--d-------b-------------------------------a------d--X-c------d---a---b-
如果开始在这里, 我们就可以找到所有的c

 

这就是为什么 我们都改了木马,但是木马特征的位置又不一样的原因, 因为有人改了a 有人却改了c!

http://hi.baidu.com/395174358/blog/item/8ee409225ff822a04723e8cd.html

 

你可能感兴趣的:(其它技术文章)