动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
   安全 → 阅读文章

 SEH 於病毒的應用

作者来源: 
阅读 860 人次 , 2006-4-26 15:53:00 

 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 技術也可以用於
返跟蹤等等!
寫這篇的文章的目的是為了和各位初學者分享學習結果,我也是初學者,希望能與大家一同進步。
在這裡要感謝很多人,所有幫助過我的朋友,有鼓勵我寫這篇文章的-老羅,還有很多大哥。

  
 本文Tags病毒  
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:病毒基础系列(1)
· 下一篇:杂谈黑客
· 为什么还不安全
· 手工清除震荡波四部曲
· 冲击波病毒源代码
· 搜索引擎工厂(Search Engine Builder)V1.595 算法分析
· 知己知彼: 宽带警钟!黑客口述——我之ADSL入侵


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077