首先給大家解釋一下免殺的解釋意思,然后給大家解釋一下解決方法。
免殺:通俗的解釋就是一時為自己寫出來的apk文件程序,避免被殺毒軟件查殺。反之被被殺毒軟件查殺后會給我們的程序植入一些捆綁代碼。甚至改變我們的程序。運行一些下載和破壞指令。
1、首先我們給apk文件程序加上一段保護程序。這就是所謂的(加殼)有保護和加密功能,先運行保護和加密功能后在運行我們的真實apk程序文件。這樣才能起到保護作用。現在上市場有很多成熟的加殼程序,可以自行去了解購買。當然這一點可以說加殼軟件需要不停的更新。因為殺毒軟件也是在每天不停的更新中。這就是所謂的說,魔高一尺道高一丈的原理。
2、第二種就是所謂程序員統稱的加入一些無用指令類似1+1,1-1等等的代碼之類的無用語句,其實真正的含義是讓殺毒軟件檢測不到或者識別不到的特征代碼,其中可操作頭部代碼和區間中加入無效代碼。其含義是讓殺毒軟件無法識別。也可以叫“加花”雖然一些普通的殺毒軟件就識別不出來。但是比較強大的殺毒軟件會繞過或識別代碼,以后繼續強行檢索查殺。
3、我們通過測試后發現還會被識別或查殺,這時候我們在程序中具有先進性定位特征碼,并修改代碼中的特征碼,對初學者來說有很大的難度,因為其中牽扯到復合特征碼的定位。因為需要大量的病毒庫來支持、參考、不利于識別病毒庫的升級。我們確定了特征碼以后就應該修改,主要的思路是直接修改法,跳轉修復法。主要原理是利用等效指令替換和設定順序的改變,不影響執行的效果。找到殺毒的特征碼以后就可以直接修改大小寫。自定義修改(但是在程序的注釋文件。一定寫清楚。)以便后續的程序員也可以修改。
跳轉修改復合碼就較簡單。他的思路就是把特征碼那段去掉。去掉以后寫入空白的00000區域,再通過GMP跳轉并連接起來。這樣殺毒軟件找不到或識別不到特征碼,這樣就可以達到免殺的效果。
這也是本人初步學習的一些見解,如有不詳之處,希望大家一塊兒討論學習。