X86逆向8:向程序中插入新區段

本節課咱們不去破解程序,本節課學習給應用程序插入一些代碼片斷,這裏我就插入一個彈窗嘍,固然你也能夠插入一段惡意代碼,讓使用的人中招, 這裏有不少原理性的東西我就很少羅嗦了畢竟是新手入門教程,若是想去了解工具的原理的話能夠去系統學習PE文件結構的一些內容,好了廢話很少說直接開搞。編輯器

------------------------------------------------------------
本章難度:★★★☆☆☆☆☆☆☆
課程課件:CM_01.zip
------------------------------------------------------------函數

 

1.直接打開OD,載入這個程序,咱們首先來記下【00460FE1】這個OEP地址,後期會用到。工具

 

2.關閉OD,打開【Stud_PE_chs.exe】這個PE編輯工具,將CM拖入,而後選擇區段,右鍵,新的區段。學習

 

3.選擇添加新區段之後,將區段命名爲【.hack】,區段的大小爲【1000】,最後點擊加入按鈕,下方則會顯示一個.hack新段。blog

 

4.而後選擇函數,添加新的輸入表。教程

 

5.選擇【添加新的輸入表】會彈出如下菜單,直接點擊【dll選擇】,而後選擇【MessageBoxA】,直接加入到清單中,這裏爲啥是user32.dll學過前面課程的你應該不須要我解釋了。ip

 

6.而後添加之後,能夠在最下方看到【user32.dll】,咱們緊接着記下它的RVA地址【000BF123】。字符串

 

7.一切準備就緒以後,咱們關閉這個PE文件編輯器,直接打開OD,而後按下【Alt + M】能夠看到咱們新加的區段【.hack】,咱們直接記下它的地址【004BE000】。入門

 

8.接着按下【Alt+C】回到反彙編窗口,而後【Ctrl + G】輸入剛纔記下的那個區段首地址,【004BE000】,會發現是空的,沒錯這裏就是咱們申請的那個1000字節的空間,待會要在這裏作文章。原理

 

9.接着咱們來尋找MessageBox函數的地址位置,先計算一下,而後在數據窗口,按下【Ctrl +G】輸入【004BF123】,將裏面的地址取出來,這個地址就是MessageBox的地址。

 

10.接下來就是寫入彈窗代碼啦,先來看彈窗的調用參數,這裏咱們直接照樣子寫就好,只是注意push的地方替換成咱們的字符串。

 

11.先來寫入如下代碼,用來臨時佔位置,這裏的CALL的地址是【77D507EA】,JMP的地址是程序的原入口地址【00460FE1】

 

12.接着咱們來寫入一些字符串內容,直接選中一段空區域,而後按下【Ctrl + E】,輸入以下字符串內容,並記下【004BE01C】

 

13.回到上面的彈窗代碼上,依次替換兩個push的內容,最終代碼以下。

 

14.直接複製並保存文件

 

15.最後咱們修正如下入口地址,此處的【004BE000】就是咱們附加區段的地址,轉換後將RVA(相對虛擬地址)複製到入口點上面,直接【儲存到文件】

 

16.運行新的程序會發現,程序先彈出hello lyshark,而後纔會載入源程序,若是此時是一段下載後門的代碼,那就刺激了。

這裏我給你們寫了一段能夠下載惡意程序的彙編代碼片斷,你只須要替換裏面的網址便可使用,請勿幹壞事!!!

 

寫教程不容易,轉載請加出處,您添加出處,是我創做的動力!

相關文章
相關標籤/搜索