2019-02-26 前端程式碼保護
前端快爆
- Vue 2.6 正式釋出,帶來了全新的 Slots(插槽)語法、非同步錯誤處理、動態指令引數、編譯警告位置資訊、顯式建立響應式物件、SSR 資料預抓取、可直接在瀏覽器中引入的 ES Modules 構建檔案等特性,這一切都將更好的接軌未來的 3.0 版本。?
真的學不動了,小右哥求放過。
- Chrome 瀏覽器即將引入一個名為“Focus Mode”的新功能,該模式下會讓你更加專注於網頁內容的瀏覽,禁用一些無關打擾,比如關閉網頁通知等。目前預設禁用,需要通過 「chrome://flags/#focus-mode」開啟。?
點評:瀏覽器很多個,谷歌老大哥,上網不規範,親人兩行淚(什麼破詞,一點都不圓潤,盤它!)
- Ionic React Beta 版釋出,Ionic 是一個用於構建跨平臺 Hybrid 移動應用程式的框架,現在開始提供 React 方式構建,目前大概已有 70 多個元件。?
這年頭寫個框架不支援 React 和 Vue 都不好意思拿出來。
- Node.js 11.10.0 釋出,主要帶來了 npm 6.7.0、response.writeHead 現在返回 response、新增 repl.setupHistory、引入客戶端 「session」 事件等特性。?
- npm 企業版正式釋出,主打安全性,目前主要有以下功能:可託管在 Kubernetes 叢集中的專用單租戶、提供公司專用的 companyname.npme.io URL、支援行業標準的 SSO 身份驗證、基於角色的訪問控制、在團隊之間和團隊之間共享包、可定製的協作和無縫 CI/CD 系統整合工作流程、通過“npm audit”告知使用者已發現的漏洞。?
點評:cnpm 笑而不語。
- 微軟發力,為 Chromium 的字幕新增 Windows 系統樣式支援。?
點評:我軟巨硬。
優秀 Demo
專題:前端程式碼保護
本期為 @葉兮 為我們帶來的前端程式碼保護相關的文章。
- 介紹
- 可信前端之路:程式碼保護:介紹了前端程式碼保護的意義以及手段。瀏覽器特性導致前端單純的加密和解密強度並不高,容易被攔截。基於混淆的程式碼保護強度更高,但也只是增加破解的難度。
- 程式碼混淆
- 使用 Esprima 進行程式碼混淆:生成 AST,設計自定義規則從而實現程式碼混淆 & Esprima 線上版。
- JointJS。
- 虛擬機器保護器:不是單純在瀏覽器執行混淆後的程式碼,而是將原始碼混淆後,用直譯器對 bytecode 進行解釋執行。每一個保護器的編譯工具和直譯器都是根據隨機生成的編碼重新生成。是目前在應用的效能開銷最大,也是強度最高的一類程式碼混淆器。
- 除錯保護
- 防開發者除錯:一個判斷瀏覽器是否開啟控制檯的完美解決方案,開啟則阻塞JS執行。
- 綜合工具與逆向
- Obfuscator:通過一系列基礎的混淆將原始碼轉換為不可讀內容,支援反美化、反除錯、域名保護等。
- 前端工程師如何反擊爬蟲 & 自定義字型混淆資訊的自動化破解:前者是反擊爬蟲的綜述,後者是使用 OCR 進行的相應破解。
- JSNice、JSBeautifier。僅對基礎的混淆起作用。支援轉換變數名,去掉無用程式碼注入等。對於虛擬機器保護器和除錯保護無用。
- 對 Google ReCaptcha 進行的逆向嘗試:Botguard 有兩部分,一部分是 UA 採集模組,另一部分是虛擬機器解釋執行保護。
- VMProtect & VMAttack:前者是 Windows 系統上的程式碼保護工具,後者是針對 VMProtect 的偽原始碼還原,動靜態分析。
-
本期編輯:@壹絲,稽核:@承虎,專題供稿:@葉兮
題圖來源:www.aspectestateagents.com.au/10-ways-to-…