首頁  >  文章  >  後端開發  >  核心php程式碼如何保護

核心php程式碼如何保護

(*-*)浩
(*-*)浩原創
2019-09-10 16:04:424013瀏覽

保護PHP就是保護智慧財產權之類的,包括一些重要的介面等等。

核心php程式碼如何保護

目前常用的方案:

對於PHP這類的動態語言的保護,感覺跟前面總結的js保護上差不多,只不過是:(推薦學習:PHP程式設計從入門到精通

加密;(強度最弱,沒辦法,這種動態解釋語言的特性導致)動態調試或hook來解決,當然瞪眼髮也可以。

混淆;(就是一些局部的混淆,包括變數和程式碼中字串的修改,強一點的會進行邏輯混淆);透過開源的php ast來進行反混淆處理。

虛擬機保護,老生常談的問題,至於虛擬機的加強看跟本地層怎麼很好的結合,以及Handler怎麼更好的設計;比如魔術方塊,逆向嘛,52有個大佬Ganlv研究的很透徹,可以去拜讀;

還有就是引入編譯,編譯為字節碼文件,進行解釋執行,字節碼跟解釋之間有著對應關係,這時候就可以進行修改映射規則的修改;比如Zend Guard

目前Swoole Compiler強度是最強的,同時性能影響還不大,十分好奇,對這個擴展加密比較感興趣,當然我不會分析,一沒有樣本,二沒有時間。

我們知道像PHP這個動態語言一定是運行在一個解釋器上。

Zend bytecode解釋器,這裡可能做的是將Zend bytecode to LLVM ir,然後藉助於llvm中很多很好的優化pass進行優化處理,同時也可以混淆處理。

Swoole Compiler是把php編譯為字節碼或更低層級的文件,然後提供客戶一個擴充工具來解釋;對於Swoole Compiler來說可能對Zend虛擬機中的解釋部分魔改的東西比較多,再加上其他的一些安全措施,可能帶來的效果會比較強大,估計現在後多已有的破解套路都會失效,同時本身Swoole 就是傳說中PHP 中的Node.js,肯定在性能做了好大的優化,所以彌補了虛擬化保護中效能損失

以上是核心php程式碼如何保護的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn