導航:首頁 > 源碼編譯 > php防止反編譯

php防止反編譯

發布時間:2022-12-29 12:57:00

『壹』 如何防止apk反編譯,是用什麼工具進行防護的

防止apk反編譯,有很多種辦法。首先要了解破解一般分為靜態破解和動態破解。偽加密、混淆、包括上面所說的APK壓縮文件破壞都屬於防止靜態破解。偽加密方法在電腦上有些手機助手無法識別apk文件,手機上可以識別。混淆保護就不說了。這些在防止動態破解上是很難起到作用的。最好是採用系統全面的加密方法,但如果不是專業從事安全領域工作的是很難做到的。況且技術也在不斷的更新,防得了一時而已。一鍵樓主採用專業的加密平台做保護。愛加密可以一試。採用這樣的平台好處就是他們的技術也在不斷地更新。

『貳』 易語言模塊有什麼辦法防止被反編譯嗎

易語言論壇中的方法:防止模塊被反編譯的有效方法:
請在模塊中建立一個或多個窗口,將其"可視"屬性設置為假,窗口上放一些隨機類型的組件(盡量不要用常用組件),重要數據分散放在這些組件的屬性裡面,模塊中的代碼動態載入這些窗口,從這些組件屬性中讀入相關數據使用.
原理: 由於易語言有相當多類型的組件,而每個組件的屬性數據保存格式都不一樣,模塊反編譯想把每種組件中的屬性數據反編譯出來具有相當的難度,所以數據放在組件屬性裡面是安全的.
個人方法:你可以把模塊轉化成動態鏈接庫DLL,這樣就不容易反編譯了

『叄』 如何對編譯的dll文件進行加密來防止反編譯

為防止這類反向工程的威脅,最有效的辦法是模糊。
模糊工具運用各種手段達到這一目標,但主要的途徑是讓變數名字不再具有指示其作用的能力、加密字元串和文字、插入各種欺騙指令使反編譯得到的代碼不可再編譯。
例子:
對未經模糊處理的代碼執行反向工程:
Private
Sub
CalcPayroll(ByVal
employeeGroup
As
SpecialList)
While
employeeGroup.HasMore
employee
=
employeeGroup.GetNext(True)
employee.updateSalary
DistributeCheck(employee)
End
While
End
Sub
同樣的代碼,經過模糊處理再執行反向工程:
Private
Sub
a(ByVal
b
As
a)
While
b.a
a
=
b.a(True)
a.a
a(a)
End
While
End
Sub
顯然,兩段代碼的處理邏輯相同。但是,要說清楚第二段代碼到底在做些什麼極其困難,甚至要判斷它正在訪問哪些方法、哪些變數也很困難。
這種改變變數名稱的功能是可配置的,例如,假設正在構造一個DLL,可以要求不改動API,有趣的是,這一處理過程顯然只是簡單地把大量變數的名稱簡縮成單個字元,但獲得了非常好的模糊效果。

『肆』 python如何防止反編譯

Python 編譯生成 pyc 僅僅為了提升載入速度,並不是為了防止破解,反編譯後和原來一模一樣。pyinstaller,py2exe,只是把 pyc 打個包,同樣很弱。代碼混淆也只能增加看懂代碼的難度,但並不能防止破解。所以最為穩妥的辦法只有修改Python解釋器,對源代碼進行加密,解釋器載入源代碼時再解密,這種方法雖然可以防止破解,但給自己帶來麻煩不說,發布程序是需要打包自己修改後的解釋器,相當麻煩。

『伍』 如何防止程序員反編譯

java從誕生以來,其基因就是開放精神,也正因此,其可以得到廣泛愛好者的支持和奉獻,最終很快發展壯大,以至於有今天之風光!但隨著java的應用領域越來越廣,特別是一些功能要發布到終端用戶手中(如Android開發的app),有時候,公司為了商業技術的保密考慮,不希望這裡面的一些核心代碼能夠被人破解(破解之後,甚至可以被簡單改改就發布出去,說嚴重點,就可能會擾亂公司的正常軟體的市場行為),這時候就要求這些java代碼不能夠被反編譯。

這里要先說一下反編譯的現象。因為java一直秉持著開放共享的理念,所以大家也都知道,我們一般共享一個自己寫的jar包時,同時會共享一個對應的source包。但這些依然與反編譯沒有什麼關系,但java的共享理念,不只是建議我們這樣做,而且它自己也在底層上「強迫」我們這么做!在java寫的.java文件後,使用javac編譯成class文件,在編譯的過程,不像C/C++或C#那樣編譯時進行加密或混淆,它是直接對其進行符號化、標記化的編譯處理,於是,也產生了一個逆向工程的問題:可以根據class文件反向解析成原來的java文件!這就是反編譯的由來。

但很多時候,有些公司出於如上述的原因考慮時,真的不希望自己寫的代碼被別人反編譯,尤其是那些收費的app或桌面軟體(甚至還有一些j2ee的wen項目)!這時候,防止反編譯就成了必然!但前面也說過了,因為開放理念的原因,class是可以被反編譯的,那現在有這樣的需求之後,有哪些方式可以做到防止反編譯呢?經過研究java源代碼並進行了一些技術實現(結果發現,以前都有人想到過,所以在對應章節的時候,我會貼出一些寫得比較細的文章,而我就簡單闡述一下,也算偷個懶吧),我總共整理出以下這幾種方式:

代碼混淆

這種方式的做法正如其名,是把代碼打亂,並摻入一些隨機或特殊的字元,讓代碼的可讀性大大降低,「曲線救國」似的達到所謂的加密。其實,其本質就是打亂代碼的順序、將各類符號(如類名、方法名、屬性名)進行隨機或亂命名,使其無意義,讓人讀代碼時很累,進而讓人乍一看,以為這些代碼是加過密的!

由其實現方式上可知,其實現原理只是擾亂正常的代碼可讀性,並不是真正的加密,如果一個人的耐心很好,依然可以理出整個程序在做什麼,更何況,一個應用中,其核心代碼才是人們想去了解的,所以大大縮小了代碼閱讀的范圍!

當然,這種方式的存在,而且還比較流行,其原因在於,基本能防範一些技術人員進行反編譯(比如說我,讓我破解一個混淆的代碼,我寧願自己重寫一個了)!而且其實現較為簡單,對項目的代碼又無開發上的侵入性。目前業界也有較多這類工具,有商用的,也有免費的,目前比較流行的免費的是:proguard(我現象臨時用的就是這個)。

上面說了,這種方式其實並不是真正加密代碼,其實代碼還是能夠被人反編譯(有人可能說,使用proguard中的optimize選項,可以從位元組流層面更改代碼,甚至可以讓JD這些反編譯軟體可以無法得到內容。說得有點道理,但有兩個問題:1、使用optimize對JDK及環境要求較高,容易造成混淆後的代碼無法正常運行;2、這種方式其實還是混淆,JD反編譯有點問題,可以有更強悍的工具,矛盾哲學在哪兒都是存在的^_^)。那如何能做到我的class代碼無法被人反編譯呢?那就需要我們下面的「加密class」!

加密class

在說加密class之前,我們要先了解一些java的基本概念,如:ClassLoader。做java的人已經或者以後會知道,java程序的運行,是類中的邏輯在JVM中運行,而類又是怎麼載入到JVM中的呢(JVM內幕之類的,不在本文中闡述,所以點到為止)?答案是:ClassLoader。JVM在啟動時是如何初始化整個環境的,有哪些ClassLoader及作用是什麼,大家可以自己問度娘,也不在本文中討論。

讓我們從最常見的代碼開始,揭開一下ClassLoader的一點點面紗!看下面的代碼:

Java代碼

『陸』 php中,如何將編譯後的代碼,反編譯回去

PHP沒有編譯和反編譯之說,是解釋型的語言,你如果看到的代碼有兩種可能,一種是用eval來執行的用簡單base_encode之類函數加密的語句,反解密出來就可以了。
還有一種可能是使用ZendGuard或者其它加密代碼的工具進行加密出來後的代碼,你可以找找具體是哪種情況,然後找相應的解密工作就可以了。

『柒』 如何防止代碼被反編譯

針對代碼反編譯,推薦使用CBS賽博鎖,通過把安全容器內嵌到操作系統中,對容器內的應用和數據進行加鎖,程序和數據在容器內運行,實現最後一米數據安全,防止核心數據被泄露,防止伺服器終端中病毒,防止反編譯,反破解。

『捌』 求助啊!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更強大些

『玖』 怎樣防反編譯怎樣防止應用被逆向分析

朋友你好,很高興為你解答問題。

我的回答和另外一位朋友的回答差不多,代碼混淆(proguard)也可以使用偽加密(apk本身是zip,對zip末尾加位元組的方式防止apktool逆向,但是該方法在電腦上有些手機助手無法識別apk文件,手機上可以識別)。還有就是可以交給幾維安全APP加密平台,不需要什麼技術要求。同時也可以在XML文件查看有沒有添加東西。

防反編譯,幾維安全-領先的應用加固服務商,兼容性高,0損耗,安全性高,免費試用。防反編譯,幾維安全提供防逆向,防篡改,防調試,防二次打包等一站式應用加固方案。

『拾』 如何防止class被反編譯,の頤塹鬧恫

可以使用代碼混淆是對Class文件進行重新組織和處理,使得處理後的代碼與處理前代碼完成相同的功能(語義)。但是混淆後的代碼很難被反編譯,即反編譯後得出的代碼是非常難懂、晦澀的,因此反編譯人員很難得出程序的真正語義。
從理論上來說,如果有足夠的時間,被混淆的代碼仍然可能被破解,甚至目前有些人正在研製反混淆的工具。但是從實際情況來看,由於混淆技術的多元化發展,混淆理論的成熟,經過混淆的Java代碼還是能夠很好地防止反編譯。
app開發完後,最好做一下掃描和加固,應用掃描可以通過靜態代碼分析、動態數據跟蹤,定位出風險代碼,同時監控敏感數據的異常行為。
加固可以在一定程度上保護自己核心代碼演算法,提高破解/盜版/二次打包的難度,緩解代碼注入/動態調試/內存注入攻擊等。
目前市面上有很多第三方加固的平台, 如果新應用發布前需要掃描或者加固的話,可以先試試免費的,例如騰訊御安全,建議自己先去掃描測試下。

閱讀全文

與php防止反編譯相關的資料

熱點內容
現代鋼琴教程pdf 瀏覽:23
客戶端框架源碼 瀏覽:206
python自動辦公能幹嘛 瀏覽:873
程序員追愛 瀏覽:252
程序員邏輯故事 瀏覽:768
加密icsot23i2c 瀏覽:713
你們有什麼好的解壓軟體 瀏覽:607
常州空氣壓縮機廠家 瀏覽:241
安卓如何關閉app內彈出的更新提示 瀏覽:409
e4a寫的app怎麼裝蘋果手機 瀏覽:201
海立壓縮機海信系 瀏覽:210
社保如何在app上合並 瀏覽:220
小米加密照片後綴 瀏覽:236
我的世界網易手機怎麼創伺服器 瀏覽:978
載入單頁源碼 瀏覽:930
阿里雲伺服器seo 瀏覽:777
海洋斗什麼時候上線安卓 瀏覽:86
中行app如何查每日匯款限額 瀏覽:840
輸入伺服器sn是什麼意思 瀏覽:725
sha1演算法java 瀏覽:90