《黑客×档案》2007年第7期摘录:木马免杀之汇编花指令技巧
-
如发现有乱码,请点击下面链接浏览原文
正文摘录:
相信很多朋友部做过木马的免杀,而且几乎每期的x梢案‘趋也都会有关于木马免杀的文章,早期的免杀人多是通过加壳和修改特征码来实现的,目前流行的免杀技术则已经发展到花指令免杀,改壳之类的了,但这些就需要一定的汇编知识了。不过,汇编可不是一块容易啃的骨头,因此我写r这篇菜鸟版的免杀汇编教程,以帮助小菜们快速人¨,掌握免杀必备的汇编知识.掌握修改花指令,修改特征码的技巧和编写自己的花指令。一、免杀必备的汇编知识push压栈,栈是一种数据结构,记住四个字:先进后H{。胍栈就是把数据放人栈中,从栈顶放入.出栈的时候也是从栈顶取出,所以会有先进后出的特点。我们可以这样理解,例如一个乒乓球筒,我们放入乒乓球,然后取出乒乓球,取出的都是最后放进的那个球。比如我们放入球的顺序是球l,2,3、4,取{_}{的顺序是球4、3、2,1。pop出栈,与push相对心。mova,b把b的值送给a,把它看作编氍中的赋ff【1日句就灶b赋值给a,这时a的值就是br。nop无作用,就是什么也没做。retn从堆栈取得返回地址并跳到该地址执行。下面是一些算术运算指令:ADD加法3ub减法mc加1dec减1量后是跳转指令:Jmp无条件跳Je或Jz若相等则跳Jne或Jnl若不相等则跳jb若小于则跳木马免杀之汇编花指令技巧J1若小于则跳Ja若大于别跳jg若大于则跳Jle若小于等于则跳Jge若大于等于则跳以上这些最基础的知识就是我们需要掌握的,虽然此时可能会有一些菜菜仍然不明白上边的这些东西是做什么用的,不过不用心急,看了后面的说明后就会理解了。对了,忘了讲寄存器了,寄存器是中央处理器内的组成部份。寄存器是有限存贮容量的高速存贮部件,它们可以用来暂存指令,数据和位址。我们需要了解的是8个通用寄存器:EAx、EBX,ECX、EDX、ESI、EDI,EBP.ESP。=.特征码和花指令的修改对于特征鹳就1;多说r,Ij丽的杀毒软件查杀病毒和术r5基本i:依靠的郜足特征码奇杀,修改r水马的特征码,杀毒软件就查1;…我们的木马了,这样也就达到免杀的目的。而花指令是程序中的无用代码,程序有r它没有影响,少J’它也能JE常运行。JJ口花指令后,杀毒软件对木马静态反汇编时,木马的代码就不会lF常显示出来,这就加大r杀毒软件的查杀难度。花指令的原理是堆栈平衡,堆栈平衡可以这样理解,有进有出,不管花指令怎么写,我们要达到的目的是加仡后,堆栈与未加之前一样。网I:的仡指令因为是公布出来的,所以免杀周期不长,一般公布出来不久就会被杀毒软件查杀,但是我们只要简简单单的修改一[w.wGroup]逆流风(李友贤)两句就可以达到免杀r。下面我们来看看五种修改花指令的方法(也适用丁特征码修政)。先束看看小,5彩农(命色鱼锦伙)的花指令:广1.Dush。bD2.movebp.esp3.adde搴D,一0C4.8ddes口.Oe5moveax.原^口6.0usheex’…“Jl羊¨2在人部分稃序开头uJ以看到,pushebp是将寄仃器cbI)Jt人堆栈,movebp,esp是将寄存器esp的值送给寄仔器cbp。3和4使用了add指令,addesP.一Oc足寄仃器csp加上0c,addesp.Oc足寄仔器espn¨}:0C,3和4加起束就足什么也没做,达到堆栈平衡。5、6、7完成了跳转刮人_]点的功能.moveax,原入口,将入Lj点送人寄仃器cax,pusheax将奇,,器c,Ix托口[=二二]
阅读此文(图):
点击此处在线翻阅