标 题:SEH 於病毒的應用
发信人: henrynote
时 间:2003/04/07 11:48pm
详细信息:
SEH
於病毒的
前:
由於小弟技g很,有e的地方,多多指正,不要客狻Vxx啦…@篇文章是我的第一篇,可能
e`百出,所以不要期待@是一篇好文章。希望能共同M步!
*@篇文章b出於研究病毒用途,不要用此技g制造具有破男缘牟《尽Vxx!如有任何人用此技g
造成任何破模侗救oP!
介:
SEH
是什N?不知道是什N||的,就先去看看hume的《SEH in ASM 的研究》或者
《Win32 Exception handling for
assembler programmers by Jeremy Gordon》,再回砜催@篇
文章吧!
1.槭颤N要在病毒e使用seh呢?
任何程序都有可能有e`出F的,在我的病毒e也是一印2《就ǔJ怯粼诓恢挥X下
做手_,如果我的病毒出了e,那N就有可能出一的e`信息框,@右砦的病毒
就]有什N意思了。不被用舨煊X是十分重要的,所以我要用SEH硖砦病毒e有可能出F的e
`。@是
SEH 於病毒中的弥唬嘈拍阍诳赐瓿SEH 的文章後,知道怎邮褂SEH去碓
病毒e所a生的常。
在我的病毒e有一雍苤匾氖--避免被刹斓剑蝗晃的病毒在_始\行的r候就被
lF和⒌簦屈N我的心血就泡耍∷晕要令我的病毒不容易o
反病毒引擎 lF。
一程序\行r,反病毒引擎M程序的代a,如果它找到的疑c多的,那N@程序
大多是被病毒感染了!@r反病毒引擎龀鲞m的怼K晕可以在病毒e使用SEHO一陷阱
oAVs的Emulator。@泳涂杀苊獗徊叮」
2.如何用SEH於你的病毒去搞定Emulator?
o!o!入正}!既然它那N喜g要模M我的代a,我就在病毒一_始就安b一SEH,
懋常程序就是我的病毒,然後u造一常。@泳瓦M入常沓绦(我的病毒)^m绦
。而仿真器s槭沁@是普通常沓绦颍怯行AVs谟龅藉e`代a之后D^m模M下一
指令,那N我就它M入一死循h!哈哈!How?
看看下面的代a:
*部分代a是引用benny's
polymorphic engine
start:call
Set_SEH;@句其就是 push offset CONTINUE
; JMP Set_SEH
CONTINUE:mov
esp, [esp+8];恢堆# 一常a生r,系y炱鸪绦颍K呼叫沓绦颍
;魉吞沓绦虻笛e,在[ESP+8]Υ娴氖桥f的堆5牡刂
push
offset Start_Virus ;----_ 把Start_Virus 的地址哼M堆Qe,作返回地址
ret;---- 跟著硪ret,跳到Start_Virus去,是不是很magic?
Set_SEH:sub
edx, edx ;Edx =0
;如果你使用的是masm,加下面一句,不然就鹁ge`
;Assume
fs:nothing
push dword
ptr fs:[edx];把指去 _EXCEPTIONAL_REGISTRATION_RECORD Y的指旱蕉
mov fs:[edx],
esp;安b一seh 框架
mov [edx],edx;注意@e引起一常,因edx=0, 所以鹨x却_突的常,
;如果Emulator
不理常,不M入seh 沓绦(即 CONTINUE: ),^m模
;M下指令,也就是jmp start,那N就M入一死循h,@可能斐僧
jmp start
;C
Start_Virus:
.....
.....
自己看吧!
明白了幔坎幻靼祝]P系,]有什N人什N都懂,信o我,我碛一下吧!我的qq:50527053,icq
72424549
email:henrynote@msn.com
*後
SEH
的煤V,不b是在病毒e有用(U),最常用的然是用硖碓诳深A知的常,SEH 技g也可以用於
返跟等等!
@篇的文章的目的是榱撕透魑怀W者分享WY果,我也是初W者,希望能c大家一同M步。
在@e要感x很多人,所有助^我的朋友,有鼓钗@篇文章的-老_,有很多大哥。
--------------------------------------------------------------------------------------------------------------
如需Dd,]明本文由henrynote著!
Henry's WorkShop :http://hackit2000.virtualave.net
Thankyou For Very Much !