-
-
[旧帖] mistfall引擎用的变形技术 0.00雪花
-
发表于: 2010-10-8 09:47 3595
-
下载了mistfall的源码,看不懂他所用的变形技术,看起来源代码只有反汇编和汇编两大块,变形是在汇编部分实现的么?里面都用到了哪些变形技术,实现思想看不太懂,请高手指教,谢谢!
我把源码发上来
下面的部分是变形实现么?什么思想,谢谢回复的人儿啦
else
if ((h->dataptr[0] & 0xF0) == 0x70)
{
h->dataptr[1]=h->dataptr[0]^0x70^0x80;
h->dataptr[0]=0x0F;
h->datalen=6;
}
else
if (h->dataptr[0]==0xE3)
{
h->dataptr[0]=0x09; // or ecx, ecx
h->dataptr[1]=0xC9;
h->dataptr[2]=0x0F; // jz
h->dataptr[3]=0x84;
h->datalen=2+6;
}
else
if (h->dataptr[0]==0xE2)
{
h->dataptr[0]=0x49; // dec ecx
h->dataptr[1]=0x0F; // jnz
h->dataptr[2]=0x85;
h->datalen=1+6;
}
else
{
return MF_ERR_CANTEXPAND;
}
h->arg2 = 4;
expanded++;
}
我把源码发上来
下面的部分是变形实现么?什么思想,谢谢回复的人儿啦
else
if ((h->dataptr[0] & 0xF0) == 0x70)
{
h->dataptr[1]=h->dataptr[0]^0x70^0x80;
h->dataptr[0]=0x0F;
h->datalen=6;
}
else
if (h->dataptr[0]==0xE3)
{
h->dataptr[0]=0x09; // or ecx, ecx
h->dataptr[1]=0xC9;
h->dataptr[2]=0x0F; // jz
h->dataptr[3]=0x84;
h->datalen=2+6;
}
else
if (h->dataptr[0]==0xE2)
{
h->dataptr[0]=0x49; // dec ecx
h->dataptr[1]=0x0F; // jnz
h->dataptr[2]=0x85;
h->datalen=1+6;
}
else
{
return MF_ERR_CANTEXPAND;
}
h->arg2 = 4;
expanded++;
}
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
赞赏
他的文章
看原图
赞赏
雪币:
留言: