大家都聽過加殼程式吧,例如UPX這類的,但是各位知道他的原理嗎?有沒有嘗試寫過這樣的程式呢?很難?其實他道理是很簡單的,以下就由聽。風來為各位分說分說吧~
首先要撰寫一個加殼程式的第一步就是你必須要獲得被加殼程式的2進位檔,大家都知道不管電腦裡的任何檔案都是二進位檔吧!而二進位檔全部都是0跟1,再取得二進位檔以後要幹麻?當然就是加密囉,以最簡單的加密方法來講你可以把所有的2進位數值都做相反的運算,0就變成1,1則變成0,把2進位檔加密以後總不能直接就拿來執行吧,所以接下來就是第二部份了
第二部份其實很簡單,你必須要把能夠解密的程式的2進位碼放到被加密檔案內,當程式一開啟時就會自動把檔案解密,但是那個解密只能是暫時性的,也就是說不能解密檔案,而是要解密放在記憶體裡面的檔案,因為這樣的話單程式關閉就會恢復到加密的狀態了
以上就是小弟昨天偶發奇想的一種加殼方式,就理論來講應該是可形的@@