編譯保護
A. android如何做到防止反編譯,保護自己的資源圖片拜託了各位謝謝
1.進行源碼保護檢測。檢測DEX文件保護,查看DEX文件是否做了保護,避免法分子反編譯得到程序源碼,從而杜絕惡意插入廣告、惡意植入扣費代碼等行為,保證用戶體驗以及APP的功能完整。2.源碼混淆保護檢測。該項目主要用來彌補程序開發人員利用混淆源碼做程序的漏洞,因為混淆源碼作為一種常見的基礎保護措施,並不嚴密,如果被專業人士利用,還是會造成相當程度的破壞。3.資源文件保護檢測。APP程序中的各種音頻、視頻、圖片、文字等文件資料如果缺乏有效的保護,很容易被惡意篡改、替換和盜竊。比如程序中的音頻格式或文字內容,如果被篡改,做成廣告畫面或違禁色情圖片等,也是對開發人員和用戶的權益侵害。4.Android主配文件保護檢測。該免費源碼檢測平台可以有效對Android主配置文件中的各個組件進行安全保護,預防其他人員在XML文件中插入代碼,破壞和盜取相關信息,篡改應用程序的功能設定。5.APK防二次打包保護檢測。二次打包就是程序人員對下載的程序進行解壓,刪除原有的簽名,自己設定一個簽名工具在安裝包上簽名,這是一種盜用行為,侵害了原版程序設計人員的權益和利益。通過免費檢測平台,可以有效查看安裝包簽名是否有過改動,可以有效防止二次打包的出現。6、so文件保護,防止APP應用被第三方修改打包。7.愛加密http://www.ijiami.cn/
B. 如何對編譯的dll文件進行加密來防止反編譯
使用過.NET的程序員都知道,.NET是一個巨大的跨時代進步,它開發效率高、功能強、界面美觀、耐用、新的語言C#已經提交為行業規范、CLR共公運行庫資源豐富,這所有的特點標志著它成為主流編程語言是必然的。
可是他也有一個缺點,那就是編譯好的程序集可以完全被反編譯成源代碼,這給一些不法份子提供了很好的機會,試想想,您辛苦的勞動成果就這樣輕易的給別人利用,是多麼不公平的事阿?所以如何保護我們的知識產權成了一個大問題。
MAXTOCODE 已經完全超越了傳統的混淆手段來保護源代碼的方式,他將完全加密您的代碼,使您的代碼完全沒有辦法反編譯。保護強度已經不是混淆器可以與之抗衡,是目前保護強度最大,最完美的.NET產品保護方案。
MAXTOCODE 是 Aiasted.SOFT 完全自主開發的一款 .NET 代碼保護工具。它是目前世界上高強度保護工具之一。
第一種代碼保護方案是混淆,這是一個不錯的方案,可惜強度還是無法保證,如果要做一個大的逆向工程有一定困難,但針對某個演算法或功能進行解讀還是很容易的。反觀混淆原理則發現,混淆其實只是一個與障眼法差不多的技術。第二種就是MAXTOCODE的保護技術了,MAXOTCODE 採用了難以理解的機器語言來加密您的.NET程序集,(特別注意:MAXTOCODE的強度建立在加密演算法之上,而不上簡單的混淆。)在程序集運行時運態解放源代碼,所以在原理上已經比混淆強度提高了許多。我們保護您所有的代碼,不讓不法份子看到您任何一個有效的代碼,使不法份子完全無法被反編譯。
C. apk加固,apk加固怎麼可以防止反編譯,保護apk源代碼安全
apk源代碼可以加固的的,源代碼是加殼之後把重要的那部分代碼隱藏起來不被看到,在一定基礎上可以達到保護源代碼的目的。
D. 如何對一個lib靜態庫保護起來不被反編譯
這個太麻煩了吧,除非他反編譯成匯編,讀懂全部匯編語言,然後用c去實現。逆向工程量太大。我們做一般是加花指令,迷宮函數來混淆代碼。
E. 如何有效的防止Java程序被反編譯和破解
由於Java位元組碼的抽象級別較高,因此它們較容易被反編譯。下面介紹了幾種常用的方法,用於保護Java位元組碼不被反編譯。通常,這些方法不能夠絕對防止程序被反編譯,而是加大反編譯的難度而已,因為這些方法都有自己的使用環境和弱點。
1.隔離Java程序
最簡單的方法就是讓用戶不能夠訪問到Java Class程序,這種方法是最根本的方法,具體實現有多種方式。例如,開發人員可以將關鍵的Java Class放在伺服器端,客戶端通過訪問伺服器的相關介面來獲得服務,而不是直接訪問Class文件。這樣黑客就沒有辦法反編譯Class文件。目前,通過介面提供服務的標准和協議也越來越多,例如 HTTP、Web Service、RPC等。但是有很多應用都不適合這種保護方式,例如對於單機運行的程序就無法隔離Java程序。
2.對Class文件進行加密
為了防止Class文件被直接反編譯,許多開發人員將一些關鍵的Class文件進行加密,例如對注冊碼、序列號管理相關的類等。在使用這些被加密的類之前,程序首先需要對這些類進行解密,而後再將這些類裝載到JVM當中。這些類的解密可以由硬體完成,也可以使用軟體完成。
在實現時,開發人員往往通過自定義ClassLoader類來完成加密類的裝載(注意由於安全性的原因,Applet不能夠支持自定義的ClassLoader)。自定義的ClassLoader首先找到加密的類,而後進行解密,最後將解密後的類裝載到JVM當中。在這種保護方式中,自定義的ClassLoader是非常關鍵的類。由於它本身不是被加密的,因此它可能成為黑客最先攻擊的目標。如果相關的解密密鑰和演算法被攻克,那麼被加密的類也很容易被解密。
3.轉換成本地代碼
將程序轉換成本地代碼也是一種防止反編譯的有效方法。因為本地代碼往往難以被反編譯。開發人員可以選擇將整個應用程序轉換成本地代碼,也可以選擇關鍵模塊轉換。如果僅僅轉換關鍵部分模塊,Java程序在使用這些模塊時,需要使用JNI技術進行調用。當然,在使用這種技術保護Java程序的同時,也犧牲了Java的跨平台特性。對於不同的平台,我們需要維護不同版本的本地代碼,這將加重軟體支持和維護的工作。不過對於一些關鍵的模塊,有時這種方案往往是必要的。為了保證這些本地代碼不被修改和替代,通常需要對這些代碼進行數字簽名。在使用這些本地代碼之前,往往需要對這些本地代碼進行認證,確保這些代碼沒有被黑客更改。如果簽名檢查通過,則調用相關JNI方法。
4.代碼混淆
代碼混淆是對Class文件進行重新組織和處理,使得處理後的代碼與處理前代碼完成相同的功能(語義)。但是混淆後的代碼很難被反編譯,即反編譯後得出的代碼是非常難懂、晦澀的,因此反編譯人員很難得出程序的真正語義。從理論上來說,黑客如果有足夠的時間,被混淆的代碼仍然可能被破解,甚至目前有些人正在研製反混淆的工具。但是從實際情況來看,由於混淆技術的多元化發展,混淆理論的成熟,經過混淆的Java代碼還是能夠很好地防止反編譯。下面我們會詳細介紹混淆技術,因為混淆是一種保護Java程序的重要技術。
F. 威綸通反編譯被保護怎麼破解
取消HMI上傳功能。在做觸摸屏項目的時候為防止程序被盜用一般會設梁沒段置「取消HMI上傳功能」和「禁止反編譯」功能來實現。消HMI上傳功能是無法把觸摸屏上的程序上傳到電腦上,我們知道上傳到電腦上的文件是XOB和EXOB而不是可以直接打開的emtp格式,因為需要反編譯進行轉換,而禁止反編譯察攔的功能可以阻止你進行轉換即使你擁有它的源文件程序。橡譽