游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2250|回复: 0

通过修改特征逃避杀毒软件的检查 wxh zt

[复制链接]

1367

主题

1993

帖子

2118

积分

金牌会员

Rank: 6Rank: 6

积分
2118
发表于 2007-5-14 21:23:00 | 显示全部楼层 |阅读模式

黑白网络
今天难得被我在学校机房蹭到了机器,装了诺顿和麦咖啡。反正还没针对这两个杀毒软件做过免杀,所以干脆就改一下好了。
定位过程就免了,给出特征码位置:
诺顿的:起始偏移 000B9A4D   偏移大小 00000007
麦咖啡:只要修改000B28B8处就可完成免杀

先生成一个服务端,接下来用C32ASM打开(用16进制),按Ctrl+G跳到000B9A4D,我们看到了一大段的字符串,这些应该是程序控件名及属性的定义,修改大小写后并不会影响程序的正常执行。选中包含000B9A4D_000B9A54在内的一段,点右键,选择“修改数据”,选择“大小写反转”,最后保存文件,再用诺顿8.0企业版查杀,通过,测试上线成功。

PS:从网上的资料来看,诺顿的特征码基本上是定位在字符串上,一般修改大小写就可完成免杀。

接下来在刚才修改免杀的基础上,我们再来修改麦咖啡的特征码。
用OC计算文件偏移000B28B8处的内存地址为004B9CB8,用OD加载鸽子服务端,按Ctrl+G跳转到004B9CB8处,看看该处的内容

004B9CB8   4E       dec esi

这里是减法运算,我们来看看它附近的汇编代码。

004B9CB0   4E       dec esi
004B9CB1   0049 00     add byte ptr ds:[ecx],cl
004B9CB4   43       inc ebx
004B9CB5   004F 00     add byte ptr ds:[edi],cl
004B9CB8   4E       dec esi
004B9CB9   0000       add byte ptr ds:[eax],al

各个寄存器相互并不影响,也不存在堆栈和出栈操作,我们要做的是改变004B9CB8处的汇编代码,这样也就改变了特征码,最简单的方法就是将004B9CB8处的代码写到程序后面的0区域,然后用JMP指令来完成跳转。不过这里不需要这么做,如果将004B9CB5和004B9CB8处的代码交换一下,改成如下的形式

004B9CB5   4E       dec esi
004B9CB8   004F 00     add byte ptr ds:[edi],cl

很明显原来004B9CB8处的代码换成了004B9CB5处的,而004B9CB5处的则换成了004B9CB8处的代码,交换顺序后,保存文件。用麦咖啡查杀已经通过,测试上线成功。

最后就是用Resource Hacker等资源编辑工具删除hacker资源,将修改后的服务端文件命名为CServer.dat覆盖到鸽子的Cache目录下。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-2-27 04:45

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表