加花指令之一鍵加花(添加器)是一款免殺花指令生成器(不錯(cuò)的免殺工具),對免殺的影響是非常大的,有效地利用花指令可以使免殺工作事半功倍,甚至單憑花指令就可以達(dá)到免殺的效果。
軟件說明
用于制作免殺的給力的工具。使用該軟件可以進(jìn)行軟件的UPX加殼、E語言免殺、添加花指令。
花指令說明
花指令的名稱可以使中文或者英文,花指令內(nèi)容必須是連續(xù)的16進(jìn)制碼,不能有空格,花指令內(nèi)容大小應(yīng)小于255字節(jié)。
匯編語言其實(shí)就是機(jī)器指令的符號化,從某種程度上看,它只是更容易理解一點(diǎn)的機(jī)器指令而已。每一條匯編語句,在匯編時(shí),都會根據(jù)cpu特定的指令符號表將匯編指令翻譯成二進(jìn)制代碼。而日常應(yīng)用中,我們通過VC的IDE或其它如OD等反匯編、反編譯軟件也可以將一個(gè)二進(jìn)制程序反匯編成匯編代碼。機(jī)器的一般格式為:指令+數(shù)據(jù)。而反匯編的大致過程是:首先會確定指令開始的首地址,然后根據(jù)這個(gè)指令字判斷是哪個(gè)匯編語句,然后再將后面的數(shù)據(jù)反匯編出來。由此,我們可以看到,在這一步的反匯編過程中存在漏洞:如果有人故意將錯(cuò)誤的機(jī)器指令放在了錯(cuò)誤的位置,那反匯編時(shí),就有可能連同后面的數(shù)據(jù)一起錯(cuò)誤地反匯編出來,這樣,我們看到的就可能是一個(gè)錯(cuò)誤的反匯編代碼。這就是“花指令”,簡而言之,花指令是利用了反匯編時(shí)單純根據(jù)機(jī)器指令字來決定反匯編結(jié)果的漏洞。
加花方法
1.直接加花
記住入口點(diǎn)---找零區(qū)域---NOP填充---記住新入口點(diǎn)---編寫花指令跳轉(zhuǎn)回原入口點(diǎn)---保存文件--- lordPE修改新入口點(diǎn)
2.去頭加花
首先我們配置一個(gè)無殼的服務(wù)端,然后用OD載入后記下從入口點(diǎn)地址開始往下選擇幾處然后復(fù)制,再NOP掉,然后找到空白區(qū)域,寫一些比如跳轉(zhuǎn)的花指令代碼后再把NOP掉的寫上,再跳轉(zhuǎn)回剛剛NOP掉的入口點(diǎn)下面的代碼地址。
3.加多重花
首先我們配置一個(gè)無殼的服務(wù)端,然后用OD載入后記下入口點(diǎn)地址然后找到幾處空白地址,當(dāng)然這個(gè)大家可以找多處。我這里提供的是給大家一個(gè)思路,我就找了2處空白地址。然后我們首先記下第一處空白地址。這個(gè)我們記下是新的空白地址,然后第2處空白地址我們記下為跳轉(zhuǎn)2 。最后我們跳到入口點(diǎn)。然后用lordPE修改入口點(diǎn),至此一個(gè)加多重花的服務(wù)端就完成了。簡單明了就是經(jīng)過多處零區(qū)域的跳轉(zhuǎn)。
4.加區(qū)加花
首先通過加區(qū)段工具給無殼的服務(wù)端加一個(gè)區(qū)段。區(qū)段名子隨便填寫,比如hacker,大小一般填寫在50-200 就好了。然后我們用LORDPE打開首先記下入口點(diǎn)。然后選擇區(qū)段記下新添加的HACKER區(qū)段的入口點(diǎn)。因?yàn)槲覀円獙懟ㄖ噶睿晕覀冊谌肟邳c(diǎn)設(shè)置為HACKER區(qū)段的比入口點(diǎn)稍微大點(diǎn)的地址。然后我們在寫花指令。通常找不到零區(qū)域的時(shí)候就可以加區(qū)段。
實(shí)際物理地址(OD載入的入口點(diǎn))= 內(nèi)存地址(0000F000)+鏡象基址(RVA)
5.殼中加花
用加殼工具(如ASPACK殼)給服務(wù)端先加一層殼,然后在加花指令。事先記好入口點(diǎn)
7.殼中加區(qū)加花
加殼---加區(qū)段---加花指令 綜合了以上所有方法。