1个回答
展开全部
test eax,eax je 0040Bxxx 将test eax,eax nop掉,改je为jb 或将两句nop掉 test eax,eax jnz 0040Bxxx 将两句nop掉 TEST EAX,EAX-----改为AND EAX,EAX JLE 1000BDB5 test esi, esi jnz short 0042893E (定位在这里) jnz 改 ja ------------------------------------ mov ebx,0040Bxxx mov ebp,eax 双mov可以上下调换 ------------------------------------ 未知标识符,16进制数前加0 ------------------------------------ 过360方法:用C32Asm改变释放目录或文件名 ------------------------------------ 00415B5F 0355 6E add edx, dword ptr [ebp+6E] 00415B62 69745F 44 6C6C4>imul esi, dword ptr [edi+ebx*2+44], 614D6C6C 00415B6A 696E 00 0000000>imul ebp, dword ptr [esi], 0 00415B71 00 00 00415B73 00 00 00415B75 00 00 考虑下移 ------------------------------------ 0区无法定位可执行文件数据的问题: 1.c32asm来解决,静态反汇编改特征 2.加一0区段,跨区段jmp跳,然后再新区段保存"所有修改",再回到原特征码处jmp,保存 ------------------------------------ call 00415B5F mov dword ptr ds:[4A699C],eax call与mov结合可考虑上下调换 ------------------------------------ imul dword ptr ds:[esi+78] 整数乘法运算寄存器esi+78 改为: idiv dword ptr ds:[esi-78] 整数除法运算寄存器esi-78 ------------------------------------ and eax,80000007 改为: or eax,7FFFFFF9 用C32asm改,80000007为-80000007,C32asm会自动变为80000007的负数7FFFFFF9 ------------------------------------ push ebp 可修改为 pop ebp ------------------------------------ je 等于则跳 改成 jle 也是等于则跳 这是瑞星的新把戏 ------------------------------------ 00436008 09C0 xor EAX,EAX 改为 00436008 09C0 OR EAX,EAX ------------------------------------ 0049B478 6A 00 PUSH 0 改为 0049B478 > \6A 01 PUSH 1 ------------------------------------ [特征] 0007BE04_00000002 LEA EAX,DWORD PTR SS:[EBP-17C] 我们可以修改这里 DWORD PTR SS:[EBP-17C]是代表一个值我们直接把那个值表示出来 因为没有lea eax,0012FE74这个指令的 我们可以改成mov eax,0012FE74 这样改就过了一个nop的位置了 我们可以把MOV EAX,12FE74向下移动一位 然后把je那句指令向下移动一个位置 [特征] 00082D82_00000002 MOV DWORD PTR SS:[EBP-4],EAX MOV EAX,DWORD PTR SS:[EBP-4] 第一句是把DWORD PTR SS:[EBP-4]传送到eax里 第二句是把eax里DWORD PTR SS:[EBP-4]传送出来 这个2个指令是无意义的了 我们直接nop掉 特征码在 MOV DWORD PTR SS:[EBP-8],EDX 上面 我们可以向下移动一个或者几个位置 自己喜欢吧 [特征] 00083228_00000002 CMP AL,1 JNZ SHORT 3.00483E4B cmp是比较 把al里的值跟1比较 然后在处理下面的jnz是跳还是不跳 我们可以改成这样 cmp al,0 je ------------------------------------ test esp,esp JLE SHORT 006.004608CE nop掉 ----------------------------------- OD中ctrl+B填00 00 00 ...搜索00区域 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 过nod32: 把定位的位置改到PE头以外,从代码段开始定位,MYCCL直接选择反向定位 结果一大部分都是和输入表函数关联着的JMP,到这里终于明白了以前为什么定位到的输入表特征,无论如何偏移都被查杀的原因了。。 因为无论你API位置如何地变化,这里对应的JMP还是直接关联API的,你偏移了API,这里的JMP位置始终没变,直接就能跳转到输入表函数上去,所以 NOD32只要把特征码定位到这 个地方,你无论怎么偏移都是没有效果的了 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 过金山清理专家,以DG远控为例; 在虚拟机测试了下,果真被查出可疑svchost启动项 接下来就是修改方法了: 原理很简单,给dll文件加版本 使用工具:Restorator 2006 我们先将data文件夹里的dll文件拿出来,算是备份吧 用Restorator打开dll文件 点击“资源”——“添加资源”——类型为“Windows标准资源”,“版本” 名称填入“1”即可,点击确定; 先不要急着保存,我们从system32目录中随便找个有版本的dll文件,例如6to4svc.dll; 照样用Restorator打开,将它的版本复制到木马的版本去
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询