


版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Darh Securrty Team特征碼修改技術總結如今殺軟的升級,他們的性能越來越強大,查殺力度和廣度都大幅度提高,啟發(fā) 式殺毒的日益完善,使免殺工作越來越困難。殺軟在進步我們小黑也不能落其后啊 我們必須努力 掌握最新的免殺技巧和動向,同時也不能一步登天的忘了我們的基 礎。而傳統(tǒng)的特征碼差殺,殺軟依然在使用。因此要想使我們的木馬文件不被查 殺,修改文件特征碼也是一種常用的方 法,今天就以特征碼修改技術給大家做一個 總結,獻給支持和關心暗組的朋友,也獻給免殺初學者和即將要學習免殺的朋友,本 人能力有限,錯誤之處請大家指出,我們共同學習進步一.什么是特征碼”我們從字面意思上看,就是具有一定特點
2、或特征的一串字符 而這串字符就是 被殺軟定義一文件是否是病毒的依據(jù).然而稍微專業(yè)點就是程序運行時,在內存中為完成特定的動作,要有特殊的指令, 一個程序在運行時,同一內存地址的指令是相同的同一個程序中,一段連續(xù)的地址 (它的指令相同,那么我截取這段地址,就可以判斷它是不是這個程序。為了防止出 現(xiàn)病毒的誤查殺,可以提取出多段特征碼。這也就是我們所說的復合特征碼.A.特征碼主要又分為:文件特征碼,內存特征碼,行為特征碼,(主動特征碼,如瑞 星B.同時,又分為:單一特征碼和復合特征碼單一特征碼 就是說,一個程序中的幾句代碼被殺毒軟件做為識別標志。修改掉 一處就可以免殺復合特征碼:一個程序中的多句代碼被
3、殺毒軟件作為識別標志。有一處不修改 都不能免殺。二.修改特征碼免殺技術修改特征碼技術,是以殺軟查殺特點得來的。殺軟會用它們的特征庫 (也就是我 們說的病毒庫和我們的文件某些字符作對比,如果彼此吻和,就定義為我們的文件為 木馬病毒。同時,我們只要修改了它定義出的文件特征碼,這樣會出現(xiàn)什么情況呢, 不用說那就是我們所說的免殺,也就是用修改特征碼技術來達到我們文件的免殺 三分析文件特征碼我們要使一個木馬文件免殺就要修改它的特征碼,但這些特征碼我們如何得來。這就 說到了我們特征碼分析,也就是我們所說的特征碼定位。而定位的工具有很多,常見也是大 家都覺得好用的有(CCL MYCCL multiCCL等.
4、這就不具體說明, 我們重點是特征碼修改四修改特征碼常用工具OD(Ollydbg.exeC32(C32Asm.exe 輔助:RestoratRestorator.exe LordPE.exe匯編指令查詢器(可以很好的幫助我們在修改特征碼過程中遇到不認識的匯編指令時,我們可以用它來查詢,了解相關功能(如下圖1 rFlat力目豪懂吃越可門蠱脊冉器.薦祐基一 JR加器DFPJJ2為厲聲噸題星岳話釋.i7«S,羞加關和立師塾Restorat .LordFE. EXE:FEED:D. 95. e:2. hov WAUlTBFMnR-!-哥再藝壬李辛矚二訶才計嗎詢*JS-:宜即朗我運弔哥存審憩翳壬
5、逶揩;殊再裁匸礙嶄器瓷間的斟拓恬恬掃令<4>立卻解縮需器朗的據(jù)苦訝20M-Crf-l<五修改特征碼基礎匯編指令Res©LqfJFE.HE到了這里眼看就要修改了做免殺了。大家別急,有句話說的好:巧婦難為無米之 炊”也就是說,我們現(xiàn)在有了好的工具但是你會用嗎?如果回答是否定的,那一切還 是等于零。工具的使用我這里就不說了,暗組論壇自己搜,NEW4寫的0D使用說 明就很不錯,大家可以看看。好了,我們言歸正傳。修改特征碼需要具備基本的匯編 知識,不懂沒關系,只要你肯學肯記,不需要你對匯編了解太深,只要記住常見的指令 和它們的作用。大家請注意,這步是學習免殺即修改特征碼最關鍵
6、的一步,這步學 習的好壞,決定你以后修改特征碼技術的,希望大家下來好好背高低這里我給大家列出我們必須去掌握的一些指令 記1.算術運算符ADC:帶進位加法ADD:二進制數(shù)加法DEC:減一DIV:無符號數(shù)除法IDIV:帶符號數(shù)(整數(shù)除法IMUL:帶符號數(shù)(整數(shù)乘法INC:加一MUL:無符號書乘法NEG:求補SBB:帶借位減法SUB:二進制減法XADD:交換并相加2. ASCII-BCD 轉換AAA:力卩后ASCII調整AAD:除前ASCII調整AAM:乘后ASCII調整AAC:減后ASCII調整DAA:加后十進制調整DAS:減后十進制調整3. 移位RCL:帶進位循環(huán)左移RCR:帶進位循環(huán)右移ROL
7、:循環(huán)左移ROR:循環(huán)右移SAL:算術左移SAR:算術右移SHL:邏輯左移SHR:邏輯右移SHLD:雙精度左移SHRD:雙精度右移4. 比較BSF/BSR:位 掃描BT/BTC/BR/BB:位測試CMP:比較CMPSN:串比較CMPXCHG:比較交換CMPXCHG8B:比較并換?lt;br>TEST:測試位5.數(shù)據(jù)傳送LDS:裝如數(shù)據(jù)段寄存器LEA:裝入有效地址LES:裝入附加段寄存器LODS:從串取LSS:裝入堆棧段寄存器MOV:傳送數(shù)據(jù)MOVS:串傳送MOVSX:帶符號擴展傳送MOVZX:帶零擴展傳送STOS存入串XCHG:交換XLAT:換碼6. 標志操作CLC:清除位標志CLD:清
8、除方向標志CLI:清除中斷標志CMC:進位標志求反LAHF:標志送AHPOPF標志出棧PUSH F:標志進棧SAHF:AH送標志寄存器STC:進位標志置1CTD:方向標志置1STI :中斷標志置17. 輸入/輸出IN:輸入字節(jié)或字INSN:串輸入OUT:輸出字節(jié)或字OUTSN:穿輸出8. 邏輯操作AND:邏輯與NOT:邏輯非OR:邏輯或XOR:異或9. 循環(huán)LOOP:循環(huán)直到完成LOOPE:相等時循環(huán)LOOPZ:為零是循環(huán)LOOPNE:不相等時循環(huán)LOOPPNZ:不為零是循環(huán)LOOPPNEW:不相等時循環(huán)LOOPNZW:不為零時循環(huán)10. 處理器控制HLT:進入暫停狀態(tài)LOCK:封鎖總線NOP
9、:無操作WAIT:置處理器于等待狀態(tài)11.堆棧操作ENTER:建立堆棧幀LEAVE:結束堆棧幀POP:字出棧POP F標志出棧POPA:所有通用寄存器出棧PUSH:字進棧PUSHA:所有通用積存器進棧PUSHF標志進棧12. 串操作CMPS:串比較LODS:從串取MOVS:串傳送REP:串重復REPE相等時重復REPZ為零時重復REPNE:不相等時重復REPNZ:不為零時重復SCAS:串掃描STDS:存入串13. 轉移(條件INT溢出中斷JA:高于則轉移JAE:高于或等于則轉移JB:低于則轉移JBE:低于或等于則轉移JC進位為1則轉移JCXZ:CX為零則轉移JE相等則轉 移JG:大于則轉移JG
10、E:大于或等于則轉移JL:小于則轉移JLE:小于或等于JNC:進位為零則轉移JNE:不相等則轉移JNG:不大于則轉移JNGE:不大于或等于則轉移JNL:不小于則轉移JNLE:不小于或等于則轉移JNA:不高于則轉移JNB:不低于則轉移JNBE:不低于或等于則轉移JNAE:不高于或等于則轉移JN不溢出則轉移JNP:奇偶位為0則轉移JNZ:結果不為零則轉移JNS:結果為正則轉移J若溢出則轉移JP奇偶位為1則轉移JPE奇偶性為偶則轉移JP奇偶性為奇則轉移JS:結果為負則轉移JZ:結果為零則轉移14. 轉移(無條件CALL:調用過程INT :中斷IRET :中斷返回JMP:無條件轉移RET:返回RETN
11、/RETF:近返回/遠返回15. 類型轉換CBW:字節(jié)轉換為字CDQ:雙字轉換為四字CWD:字轉換為雙字CWDE:字轉換為擴展的雙字大家不要怕辛苦,在你要動搖的時候,你就想想自己做出自己的免殺那種成就是多么開心。免殺需要我們的堅持和不斷創(chuàng)新,它的樂趣在于挑戰(zhàn) 希望大家努力而不放棄六.修改文件特征碼終于我們開始修改了,也恭喜你經過了無聊和乏味的時期,現(xiàn)在是我們創(chuàng)造奇跡 的時候了。特征碼定位出來之后,就是我們修改的過程。只有這樣才能達到躲過殺 軟查殺的目的。修改文件特征碼的方法有很多。如:替換法,填充法,大小寫轉換法, 通用跳轉法等。今天就給大家一一道來.1. 排序法(就是我們說的上下互換法在我做
12、免殺的過程中,上下互換我發(fā)現(xiàn)很重要也是很有效的辦法,但是沒有一個 方法是 完美的,上下互換也不能保證100%的成功率,不過它的通用率在90%.好了, 我們具體說明一下。例如:12345都分別代表一匯編指令,而其中3就是被殺軟定義為病毒特征。我們要做的就是打亂它的順序,讓殺軟無法辨別。修改后成:13245或12435在不影響 程序運行前提下,找到相應的互換法.我們實例說明H. I +301OO-lL'JDtB00452 AS1: SOPUSH00452A91: 8B83 30000000 M0V0045;A97: CC52FCFF CALL 0045iA9C: SO PUSH 00455
13、A3D: E5 AZ40FBFF CALL 045ZAA2: 4E DEC如圖選定的MOV XXXXXX 我們可以和PUSH XXXXX 上下互換或者MOVXXXX和下面的MOV XXX互換,從而達到免殺 一般情況下雙MOV都可以互換, 如圖CALL XXXX 也可以和下面 PUSH XXXXX 互換但有時候的CALL是不能 亂換的,這里就需要大家給匯編知識的了解,和自己的經驗了這個方法沒什么技術 含量,需要的是你下來多多練習,做多了自然掌握2. 替換法替換法就是同等指令或者使用功能相同的代碼之間的替換.就像5-5=0而1-1也 =0他們最終的結果和功能上都是一樣的,在程序里這種我們可以相互替
14、換,不會影 響程序的運行。替換法就是程序靈活性的體現(xiàn),一種功能,程序可以有N種方法表 達出來。所以大家必須掌0F8471010000JIOO4S2K1S:E9 BFOSOODOJMF04S33AD倆憔対如:1尅比O0452Z21Z0F343C0100Q0JZ004S2Fc3aszs13SUB二亠p 13004S2E2A10F944020000JH004S30B4004S2E30:S3 79050000JME04533AD?ld 1 TRnnnnnCM匸Rfl l 7握我們常用的匯編指令,從而替換法將會簡單如一。下來我們實例說明。我們選定的區(qū)域,是這么一個匯編指令:SUB EAX,37SUB看了
15、上面常用匯編指 令的人應該了解這種算術運算符中的減法運算。這句意思是 EAX減37.從而我們 就有了思路。在有理 數(shù)中,有了正負數(shù),它們的加減我想大家都會吧??谠E是正正得 正,負負得正,正負得負由此我們可以把這句指令修改成這樣 00452E13:0F9471010000JE004S2F9700452E19:Z9 BFaSOOOOJME004S33AD&04B2E1E:ESEE:八:.00452E21:0F943C010000JE00452FE30045;E2":63E813SUBK:r1300452E2A:0F9434020000Ji004S30B400452E30:Z9 7
16、8050000JME004S33ADi7RnnnanoreRAI 7我們修改成ADD EAX,-37ADD是匯編中的加法,加負37,結果還是減37功能上 和結果上到和原來的一致。程序也不會影響,殺軟也將不會查殺在我免殺中,還有 如AND=TEST Je可以換成JNL或jnz等LEA也可以換成TEST或AND SAR算術 右移.(=SHRSAL算 術左移.(二SHL有時候CALL也可以換成MOV或JMP JMP=JB+JNBADC=ADD+INC等不過替換法也不是百分百成功的。我們要靈活運 用,不能死板硬套,這樣的想法是不可取的,我們多多嘗試,多多創(chuàng)新,免殺技術才會 進步。上面都是相關指令的替換
17、,還有一種就是幾句代碼,我們可以用其他的代碼 替換掉,功能和結果都是同等,也不會影響程序正常運行。如:XOR AL ,0XOR在匯編中是異或運算符。而異或運算的二進制方法是這樣的:1八仁00八0=01八0=10八1=1看了這個我想大家可能就有所明了。我們可以把原來的這句寫成MOV BL,0XORAL,BL這兩句的結果和原來的還是一樣的 修改后殺軟也不會查殺 從這里我們 看出了匯編指令的重要性,所以大家開始還是 要努力吃掉那些基本的語句,這樣以后 就會好多點3. 填充法填充法,我想大家是最先學會的。因為這個不需要進行什么修改或者替換,只需要輕輕一點16進制填充 輸入00”就OK。不過說起來很簡單
18、,做起來不是我們 說的那樣簡單。你填充一段或一句匯編代碼時,你要了解,它是否影響程序的正常運行,有的代 碼或者指令是不能隨便填充掉的,填充掉的后果就是程序壞掉。所以我們在填充之 前要了解它是否是垃圾代碼或者是無用代碼,之后我們在填充它。填充法需要我們 經常累計的經驗和對匯編指令 的了解程度來衡量,所以大家還需要多練習,等你悟道 那一刻其實一切都是很簡單的.4. 跳轉法跳轉法,是免殺人必須學會的一種技巧。因為它的通用性很好,免殺效果也不錯。好了,我們先了解下什么是跳轉法。所謂的跳轉法就是把有特征碼的代碼在 原有的位置上跳轉到其他位置,從而達到免殺的過程。這里用的最重要的匯編指令 就是無條件跳轉
19、“ JMP ”下來介紹下跳轉的要領:a. 我建議在做跳轉的時候在 OD里面進行,OD比較直觀,同時防止出錯;b. 要找一塊可以寫入的0區(qū)域(也就是沒有添加代碼的空白區(qū)域如圖C32里面0區(qū)域表現(xiàn).下圖是OD里面0區(qū)域的表現(xiàn)inr有人會問,我找的零區(qū)域都無法寫入。怎么辦?問的好,一般教程中說,在找到零 區(qū)域的時候先試著保存一下(0D壞境,不能保存就說明我們不能寫入,這種說法是錯 誤的。因為我們的文件在被PE裝載器映射到內存的時候,PE裝載器會讀取相應節(jié) 表結成的VOFFSET , VSIZE和屬性,這些值決定了我們映射到內存中的起始偏移, 大小還有相應的內存區(qū)域的屬性,一般我們的程序在被連接器連接
20、的時候都會將數(shù) 據(jù)段設置為DATA屬性,將CODE代碼段設置為可執(zhí)行屬性。其實這些屬性無關緊 要,我們完 全可以自己手動進行更改,比如將所有的屬性設置為可讀可寫執(zhí)行等,這 樣在跳轉或者 加花的時候可寫的區(qū)域就會非常大,也就不用去加區(qū)段而使文件體積 變大。這里就教大家怎么開啟這些不能寫入的零區(qū)域.用到的工具:LORDPE.EXE首先,用LPE載入我們的木馬文件(如圖1圖一然后點擊區(qū)段.(如圖2圖二再右鍵點擊CODE區(qū)段,選擇編輯區(qū)段.(如圖3圖三最后點擊,標志右邊的小框 框.(如圖4圖四大家是不是看見有個"可寫入"沒有勾選,我們把它勾選上,然后確定, 保存即可.這樣我們COD
21、E區(qū)段中的零區(qū)域就變成可寫的了 . c.在跳轉的時候,我們 必須記住,跳轉回來的地址;d.還是那句話,方法不是萬能的,跳轉也不是100%成功 的.(切忌病毒木馬在變異,我們的方法也可以變異,跳轉一般都在用JMP殺毒軟也會 知曉所以我們不用JMP,可以用CALL ,MOV等也構造跳轉,這樣是代碼更加復雜, 提高殺軟查殺難度.這也是一般基本的跳轉方法,還有如,跨區(qū)跳轉,3級跳轉等一些高 級跳轉方法.萬變不離其宗,只要我們了解原理,各種好方法也就以用而生.生2,2生4, 1慢慢的擴展下去5.就近法(也就是我們說的加一減一 就近法就是把我們特征碼 的16進制代碼,修改成它相近的16進制代碼的過程.從而達 到免殺.這種情況一般 出現(xiàn)在字符串上,如,木馬版本信息,一些對程序運行不起到絕對作用的代碼(如下圖 圖中紅色的30我們可以改成31 (如下圖這樣就可以達到免殺目的.不過還有種情況 (如下圖MOV BL,14這句匯編代碼,我們又是可以在14上面加一或者減一或者跨度 大點修改,總之在不損壞程序運行的前提下修改,要多觀察代碼周圍的其他代碼,看 看這句代碼的表達效 果.再就是,CALL地址上的加一減一免殺 CALL 上特征時,都 知道只要地址變了,殺軟也就不會查殺了(這只是其中一種情況,有時候不會成功如 上圖選定的CALL 10003214我們可以嘗試修改成 CALL 100032
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國船用電加熱器數(shù)據(jù)監(jiān)測研究報告
- 2025年度水利工程款抵還住宅房款執(zhí)行協(xié)議
- 二零二五年度素食餐廳轉讓及素食文化推廣合同
- 2025年度租賃房屋承租方精裝修合同范本
- 2025年度老年人贍養(yǎng)贍養(yǎng)金及社區(qū)養(yǎng)老支持協(xié)議
- 2025至2030年中國緩沖葫蘆數(shù)據(jù)監(jiān)測研究報告
- 二零二五年度礦業(yè)權轉讓與資源整合合同
- 二零二五年度大型土方工程居間管理與協(xié)調合同
- 2025至2030年中國純棉布料數(shù)據(jù)監(jiān)測研究報告
- 二零二五年度智能電網工程款代付及進度管理合同
- 初一語文下冊:閱讀理解知識點整理
- 營銷部安全生產責任制
- CSM工法雙輪銑水泥土攪拌墻專項施工方案
- 【講座】高三英語高效二輪備考講座課件
- 定點醫(yī)療機構接入驗收申請表
- 小羊詩歌大全1479首(小羊喝水擴句)
- 2022-2023學年遼寧省鞍山市普通高中高一年級下冊學期第一次月考數(shù)學(A卷)試題【含答案】
- 中國農村居民儲蓄行為研究共3篇
- 華為鴻蒙深度研究
- 心理咨詢師考試題庫及答案
- 弟子規(guī)42+用人物須明求+教案
評論
0/150
提交評論