源码免杀处理的技巧与tips
2019獨角獸企業重金招聘Python工程師標準>>>
首先,要了解編譯中MAP的利用:?
?? 第一步設置VC編譯環境生成Map文件。
在 VC 中,點擊菜單“Project -> Settings”選項頁(或按下 Alt+F7),選擇 C/C++ 選項卡,并在最下面的 Project Options 里面輸入:/Zd ,然后要點擊 Link 選項卡,選中“Generate mapfile”復選框,并在最下面的 Project Options 里面輸入:/mapinfo:lines,表示生成 MAP 文件時,加入行信息。
設置完成。
?? 第二步編譯VC工程,設置活動工程編譯即可,這個不用說明。這個步驟完成后,在release(或debug)目錄,多了一個.map文件(比如svchost.map)。
?? 第三步打開map文件(用UE或文本編輯器打開都行),形式如下:
用MYCCL定位DLL的瑞星主要特征碼為00014ba8和00014bbb(還有4個特征碼在源碼免殺了這兩個之后都過了),定在了DLL的輸出表的SERVICEMAIN和RESETSSDT上面.
我們在生成的.MAP文件中找跟這兩個地址接近的項,如圖:
00014BA8和00014BBB正好是在圖中00014AC0和00014BE0之間,對應的是源碼里的一個IOCPSERVER.OBJ,這樣我們就通過MAP文件把特征碼和源碼聯系起來了,通過修改源碼來
達到免殺特征碼的目的
打開GH0ST源碼,點擊CLASSES VIEW>>>>GH0ST CLASSES>>>>>CIOCPSERVER,來到如圖位置:
COICPSERVER好像是一個跟WINSOCK有關的東西,這里匯編高手可以直接通過修改代碼達到免殺,而我則加了一個無意義代碼達到相同的效果(水平問題),如圖:
這樣,這處源碼免殺就OK了.不過要想達到到更好的免殺效果,我們還需要手動在輸出表里面添加幾個空函數,點擊FILE VIEW>>>>GHOST FILES>>>>SVCHOST.CPP來到如圖位置
看到SERVICEMAIN和RESETSSDT沒有,這里,我手動添加了一個新函數,函數名任意,我取了個"FUCKRUIXING".添加完后如圖:
這樣子空函數還沒完全添加進去,我們還需要在后面加入一段說明這個函數的代碼,如圖:
這樣,空函數添加完成了,保存一下.因為金山還殺GH0ST的GH0ST UPDATE字符串,我們利用advanced find and replace替換一下就OK了,道理同SYS的免殺
最后按編譯出來丟到虛擬機里測試下,DLL和SYS過了卡巴,瑞星,金山和NOD32(虛擬機里只裝了這幾個常用的殺軟),可以上線,功能沒問題
轉載于:https://my.oschina.net/rookier/blog/399159
總結
以上是生活随笔為你收集整理的源码免杀处理的技巧与tips的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Windows用户安全小技巧
- 下一篇: 电热水器和插座之间的相亲故事