php反編譯文件好嗎
PHP沒有編譯和反編譯之說,是解釋型的語言,你如果看到的代碼有兩種可能,一種是用eval來執行的用簡單base_encode之類函數加密的語句,反解密出來就可以了。
還有一種可能是使用ZendGuard或者其它加密代碼的工具進行加密出來後的代碼,你可以找找具體是哪種情況,然後找相應的解密工作就可以了。
PS:大多數軟體都是收費的。
B. .PHP文件能不能封裝成.DLL文件呢該用什麼來封裝,如何調用
PHP使用VB封裝成DLL?沒有試過。
不過,Zend Corporation (http://www.zend.net)
開發的產品 Zend Studio 可以裝PHP進行編譯,編譯過的PHP運行速度比不編譯的要快。而且,因為編譯後生成的是二進制文件,所以,Zend Studio 也就達到了為PHP加密的功能(雖然國內已經有人開發了一種能對被Zend Studio某些版本編譯過的PHP進行反編譯,從而得到源代碼)。Zend Studio並不是免費的。
經過編譯後的PHP程序不能夠再運行,你的伺服器上必須裝有Zend 公司的另一免費產品:Zend Optimizer。使用Zend Optimizer 後,就可以在你的伺服器上正常運行編譯過的PHP程序了。
C. php 方面大家一般用哪些工具進行代碼加密
所謂 zend 加密,其實是預編譯
他將 php 代碼翻譯成了一種虛擬機器的指令集合(php 運行時也是這樣,但指令集不同)
所以 zend 解密,實際是反編譯
由於涉及到 php 內核機制,故不在本討論范圍之內
凡是比依賴加密環境的加密,實際都是擾碼——程序依據自身包含的演算法將自身還原成初始的代碼
這種程序最終執行的是還原後的代碼
所以你完全有可能在他運行期間,攔截到包含 還原後代碼 的字元串
由於擾碼的程序,本身是可執行的,所以還可以從語法分析入手
php 提供 token_get_all 函數,用於對 php 代碼串做詞法分析
可得到類似這樣的數組
Plain Text code? [32] => Array ( [0] => T_STRING [1] => T撾CB蜦RW仄JW豎IDFZZD蜺FBAADVAVQU頤HCF頕V厝VN游煁啙 [2] => 2 ) [33] => Array ( [0] => symbol [1] => ; [2] => 2 ) [34] => Array ( [0] => T_STRING [1] => T沃FBAEBAFAIBAQIA?腄AAHU領ABF萉A1FVB仡FB頔A庮葴 [2] => 2 )
依據他,就可對程序做出解析,從而反推出原始代碼
我使用
PHP code?1234<?php$source=file_get_contents('s.php');$tokens = token_get_all ($source ); print_r($tokens);
D. PHP語言的八大優勢
PHP(Hypertext),超文本預處理器,是一種通用性開源腳本語言。它的語法吸取了C語言、Java和Perl的優點,免費、快捷、高效,主要適用於Web開發領域。
目前,全球5000萬互聯網網站60%以上都在使用PHP技術,AlexaTOP500中國網站排名中有394家使用PHP,國內80%以上動態網站使用PHP進行開發,在Web後端語言中PHP全球市場語言佔有率達到80%。
像Facebook、Google、新浪、網路、YouTube、騰訊都在使用PHP。
PHP語言的八大優勢:
1、開放源代碼,所有的PHP源代碼事實上都可以得到。
2、免費性,php和其它技術相比,PHP本身免費且是開源代碼。
3、快捷性,程序開發快,運行快,技術本身學習快。嵌入於HTML:因為PHP可以被嵌入於HTML語言,它相對於其他語悉腔答言。編輯簡單,實用性強,更適合初學者。
4、跨平台性強,由於PHP是運行在伺服器端的腳本,可以運行在UNIX、LINUX、WINDOWS、MacOS下。
5、專業專注,PHP支持腳本語言為主,同為類C語言。
6、效率高PHP消耗相當少的系統資源。
7、面向對象,在php4,php5中,面向對象方面都有了很大的改進,php完全可以用來開發大型商業程序。睜慧
8、圖像處理,用PHP動態創建圖像,PHP圖像處理默認使用GD2。且也可以配置為使用magick進行圖像處理。
PHP的3種常用運行方式:CGI、FastCGI、。
1、CGI
CGI即通用網關介面(commongatewaginterface),它是一段程序,通俗的講CGI就像是一座橋,把網頁和WEB伺服器中的執行程序連接起來,它把HTML接收的指令傳遞給伺服器的執行程序,再把伺服器執行程序的結果返還給HTML頁。CGI的跨平台性能極佳,幾乎可以在任何操作系統上實現。
2、FastCGI
fast-cgi是cgi的升級版本,FastCGI像是一個常駐(long-live)型的CGI,它可以一直執行著,只要激活後,不會每次都要花費時間去fork一次。PHP使用PHP-FPM(FastCGIProcessManager),全稱PHPFastCGI進程管理器進行管理。
但每一個Web請求PHP都必須重新解析php.ini、重新載入全部擴展並重初始化全部數據結構。使用FastCGI,所有這些都只在進程啟動時發生一次。一個額外的好處是,持續資料庫連接(Persistentdatabaseconnection)可以工作。
3、
PHP作為Apache模塊,Apache伺服器在系統啟動後,預先生成多個進程副本駐留在內存中,一旦有請求出現,就立即使用這些空餘的子進程進行處理,這樣就不存在生成子進程造成的延遲了。這些伺服器副本在處理完一次HTTP請求之後並不立即退出,而是停留在計算機中等待下次請求。對於客戶瀏覽器的請求反應更快,性能較高。
如何保護自己的PHP代碼:
1、代碼混淆加密
就是把代碼base64加密,然後對base64里的字元串進行字元串映射(隨機生成字典混淆)然後eval執行這種百分之百能被破解還原。
2、混淆亂碼字元
代碼混淆變數還有一些東西和1原理差不多,不過是把字元串換到ascii127到255之間非人類還有編輯器看不懂的字元,結果也是百分之百能被破解和還原,只是時間問題。
3、發放opcode
不分發代碼,而是先把PHP代碼預編譯,分發opcode,PHP7以後opcache深度集成這個東西PHP7以後可以用這個方法保護源碼,但是也會被opcode反編譯回去也會被破解。
4、混淆加密寫PHP擴展
混淆加密寫PHP擴展,但是只要是開源的PHP擴展都會被破解,除非自己寫加密演算法,把PHP代碼加密,然後自己拿C語音寫擴圓談展閉源,別人不知道你加密思路和破解思路,被破解的可能性很小。
E. 急 PHP解密啊
搜索dezend,找一個可用的反編譯試試看吧。
PHP反編譯不是100%成功的,祝你好運氣了
F. 求助啊!php反編譯的問題。。
json處理過,反json下,\u5927 ,是16進制處理過的字,
$a = json_decode('{"id":"993","title":"\u5df4\u7279\u5c14\u66fe\u51fa\u6f14\u8fc7\u4e00\u90e8\u7535\u5f71\uff0c\u540d\u5b57\u662f","imgurl":"http:\/\/i1.gbimg.cn\/zt\/2011\/04\/02\/93.jpg","options":"\u975e\u8bda\u52ff\u6270||\u5341\u6708\u56f4\u57ce||\u8ba9\u5b50\u5f39\u98de||\u5927\u704c\u7bee","vpcode":"yi1u"}
');
var_mp($a);
js有個json2.js,可以與php中的json_decode json_encode互轉,實現ajax後台傳任何數據。json網路里有,關於json2.js用法,網上很多。另外ajax傳數據用 js和php數組序列化(serialize和unserialize)也可以,不過json更強大些