双字节异或加密免杀

D01 pushad       寄存器入栈,在LordPE设置为新入口点
D02 call D03        调用下一行代码的VA,在OD中也可采用二进制编辑,输入E8 00000000
D03 pop ebx       出栈,ebx的值就是这一行代码的VA,也就是D03
D04 sub ebx,A1    A1是这样计算的,加密点起始的VA减去上面的D03,ebx的值就是加密点起始的VA
D05 xor ecx,ecx     清空ecx为下面循环解密xor的字节做准备
D06 mov ax,5D62     传5D62给ax做初始密匙用,可以修改的
D07 xor word ptr ds:[ebx+ecx*2],ax 对ebx+ecx*2处进行双字节解密
D08 inc ecx       ecx加1,也就是密匙加1,动态变换密钥
D09 inc eax       eax加1,累计解密多少次了.为下面判断做准备
D10 cmp ecx,A2    此处的A2就是加密的代码的总长度除二,计算公式是:(最终VA-起始VA+1)/2 (十六进制)
D11 jl short D07 没有解密完就跳,继续解密
D12 popad           寄存器出栈,如果还要加密下一段,此处从D04开始继续。
D13 jmp到原入口点
需要计算A1和A2

加密二段的十六进制代码如下:
60 E8 00 00 00 00 5B 81 EB 00 20 00 00 33 C9 66 B8 7D 4A 66 31 04 4B 41 40 81 F9 11 11 00 00 7C
F2 81 C3 00 10 00 00 33 C9 66 B8 7D 4A 66 31 04 4B 41 40 83 F9 50 7C F5

转载于:https://www.cnblogs.com/lywmw/archive/2009/11/24/1609817.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值