精華區beta NetSecurity 關於我們 聯絡資訊
2017.w04 - 加殼程式 (Executable Compression) > 時代的眼淚 ## 前言 ## 又是因為工作的需要 ... ## 內容 ## 加殼壓縮[0] 是為了 1) 數據壓縮 以及 2)資料保護 兩個目的而產生的一種技術。 為了減少資料傳輸的大小 (節省頻寬) 而將一個檔案 (通常是可執行檔) 進行壓縮 解壓縮這個步驟則是執行檔案的時候 動態的解壓縮內容並且執行 (runtime packer) 在 Linx 的環境中 最常使用 UPX[1] 來當作一個加殼 (壓縮殼) UPX 支援在記憶體中解壓縮內容: - 重新指向 Entry Point 到解壓縮的邏輯 - 將壓縮後的內容放到 memory - 執行解壓縮演算法 還原成原本的機械碼 - 回到原本程式的 Entry Point 加殼程式也可以被應用在非執行檔: 在 script language 中可以混淆原本的程式碼 轉換成不易閱讀的程式碼 例如 JS 的 Uglify 技術:移除非必要空白、簡化變數名稱、JSFuck[3] 目的是為了讓 JavaScript 可以被執行 但是很難被肉眼瞭解程式碼運作的邏輯 [0]: https://zh.wikipedia.org/wiki/%E5%8A%A0%E6%AE%BC%E5%A3%93%E7%B8%AE [1]: https://zh.wikipedia.org/wiki/UPX [2]: https://en.wikipedia.org/wiki/Entry_point [3]: https://en.wikipedia.org/wiki/JSFuck -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.193.122.171 ※ 文章網址: https://www.ptt.cc/bbs/NetSecurity/M.1485264443.A.67E.html
a2735000: 推 01/25 02:30
liangh: 推 用心的版主 01/25 02:52
Peruheru: 推,這些分享讓資安板越來越充實 01/25 08:54
Peruheru: 沒推到 01/25 08:54
zha0: JavaScript Obfuscator 01/25 10:46
birk0066: 推用心版主 01/25 12:46
now99: 推 01/26 12:26
supermario85: 推 01/29 18:30