當前位置:首頁 » 編程軟體 » 安卓防反編譯

安卓防反編譯

發布時間: 2022-01-28 21:11:07

❶ android apk怎麼防止反編譯

沒有好的方式,只能混淆apk,防止反編譯後很容易被破解

❷ android 代碼混淆、壓縮文件破解真能防反編譯

很早以前安卓是很容易被破解的,後來谷歌意識到了這個問題,就多了一個proguard.cfg文件,就是用來混淆代碼的,這在一定程度上阻止了apk被反編譯。不過現在的反編譯越來越厲害了,普通的代碼混淆對於APK反編譯沒有效果了。現在要真正做到做apk反編譯,要保護dex文件、so庫文件、以及防止內存數據被靜態、動態抓取等等,一般都是通過密碼演算法給dex加殼隱藏、對源碼使用高級混淆、簽名效驗、使用花指令、對so文件使用演算法加密等。這些單獨一項可能還達不到較安全的保護,但是綜合起來就會達到一個相對很高的安全層次。如果覺得麻煩,可以嘗試用一下第三方APP加密如愛加密,今天上傳,第二天就能拿到加固後的apk,很方便的。

❸ eclipse android apk防止反編譯 怎麼做

proguard.config 後面指定一個確定的文件,比如你工程中默認生成的 proguard-project.txt。

然後在 proguard-project.txt中進行混淆配置,並使用 android tool-> Export signed ...導出簽名的發布包apk,這樣的apk包就可以防止反編譯了。

❹ 怎麼防止android軟體被反編譯,破解

開發軟體中有對應功能,打包加密就可以了!

❺ android 怎麼防止dex反編譯

防止Android apk被反編譯的方法:
1、判斷apk簽名是否與原版簽名是否一致。
2、代碼混淆,將混淆的級別設置高點,混淆出來以後代碼全部變亂。
3、使用NDK編程,將核心演算法用c/c++來編寫,打包成so庫供java層調用。

❻ Android APP的破解技術有哪些如何防止反編譯

Android APP破解主要依靠利用現有的各種工具,如下:
1)APKtool
2)dex2jar
3)jd-gui
4)簽名工具

防止反編譯,介紹一種有效對抗native層代碼分析的方法——代碼混淆技術。
代碼混淆的學術定義如下:
代碼混淆(code obfuscation)是指將計算機程序的代碼,轉換成一種功能上等價,所謂功能上的等價是指其在變換前後功能相同或相近。其解釋如下:程序P經過混淆變換為P『,若P沒有結束或錯誤結束,那麼P』也不能結束或錯誤結束;而且P『程序的結果應與程序P具有相同的輸出。否則P』不是P的有效的混淆。
目前對於混淆的分類,普遍是以Collberg 的理論為基礎,分為布局混淆(layout obfuscation)、數據混淆(data obfuscation)、控制混淆(control obfuscation)和預防混淆(preventive obfuscation)這四種類型。

騰訊御安全保護方案提供了以上所述四種混淆分類的多維度的保護,布局混淆方面,御安全提供了針對native代碼層中的函數名進行了混淆刪除調試信息等功能;數據混淆方面,御安全提供了針對常量字元串加密及全局變數的混淆的功能;控制混淆方面,御安全針對代碼流程上,提供了扁平化,插入bogus 分支以及代碼等價變換等功能;預防混淆方面,御安全在混淆過程中加入了針對主流反編譯器的預防混淆的代碼,能夠有效地抵抗其分析。御安全還對應用開發者提供不同等級的保護力度及多種混淆方式的功能的選擇,用戶可以根據自己的需求定製不同的混淆功能保護。
同時,御安全保護方案除了提供代碼混淆保護方面的技術,還提供代碼虛擬化技術及反逆向、反調試等其他安全保護方案,綜合使用多種保護方案可以有效地提高代碼安全。

❼ android中如何防止代碼被反編譯

Google似乎也發現了這個問題,從SDK2.3開始我們可以看到在android-sdk-windows\tools\下面多了一個proguard文件夾 proguard是一個java代碼混淆的工具,通過proguard,別人即使反編譯你的apk包,也只會看到一些讓人很難看懂的代碼,從而達到保護代碼的作用。 -optimizationpasses 5 -dontusemixedcaseclassnames - -dontpreverify-verbose-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*�0�2-keep public class * extends android.app.Activity -keep public class * extends android.app.Application -keep public class * extends android.app.Service -keep public class * extends android.content.BroadcastReceiver -keep public class * extends android.content.ContentProvider -keep public class * extends android.app.backup.BackupAgentHelper -keep public class * extends android.preference.Preference -keep public class com.android.vending.licensing.ILicensingService�0�2-keepclasseswithmembernames class * { �0�2 �0�2 native <methods;}�0�2-keepclasseswithmembernames class * { �0�2 �0�2 public <init(android.content.Context, android.util.AttributeSet);}�0�2-keepclasseswithmembernames class * { �0�2 �0�2 public <init(android.content.Context, android.util.AttributeSet, int);}�0�2-keepclassmembers enum * { �0�2 �0�2 public static **[] values(); �0�2 �0�2 public static ** valueOf(java.lang.String);}�0�2-keep class * implements android.os.Parcelable { �0�2 public static final android.os.Parcelable$Creator *;}從腳本中可以看到,混淆中保留了繼承自Activity、Service、Application、BroadcastReceiver、ContentProvider等基本組件以及com.android.vending.licensing.ILicensingService,並保留了所有的Native變數名及類名,所有類中部分以設定了固定參數格式的構造函數,枚舉等等。(詳細信息請參考<proguard_path/examples中的例子及注釋。) 讓proguard.cfg起作用的做法很簡單,就是在eclipse自動生成的default.properties文件中加上一句「proguard.config=proguard.cfg」就可以了 完整的default.properties文件應該如下: # This file is automatically generated by Android Tools. # Do not modify this file -- YOUR CHANGES WILL BE ERASED!## This file must be checked in Version Control Systems.## To customize properties used by the Ant build system use, # "build.properties", and override values to adapt the script to your # project structure. �0�2# Project target. target=android-9 大功告成,正常的編譯簽名後就可以防止代碼被反編譯了。

❽ 如何防止Android程序被反編譯

下面具體說一說怎麼樣讓SDK2.3下的proguard.cfg文件起作用,先來看看android-sdk-windows\tools\lib\proguard.cfg的內容: -optimizationpasses 5 -dontusemixedcaseclassnames - -dontpreverify -verbose -optimizations !code/simplification/arithmetic,!field/*,!class/merging/* -keep public class * extends android.app.Activity -keep public class * extends android.app.Application -keep public class * extends android.app.Service -keep public class * extends android.content.BroadcastReceiver -keep public class * extends android.content.ContentProvider -keep public class * extends android.app.backup.BackupAgentHelper -keep public class * extends android.preference.Preference -keep public class com.android.vending.licensing.ILicensingService -keepclasseswithmembernames class * { native ; } -keepclasseswithmembernames class * { public (android.content.Context, android.util.AttributeSet); } -keepclasseswithmembernames class * { public (android.content.Context, android.util.AttributeSet, int); } -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); } -keep class * implements android.os.Parcelable { public static final android.os.Parcelable$Creator *; } 從腳本中可以看到,混淆中保留了繼承自Activity、Service、Application、BroadcastReceiver、 ContentProvider等基本組件以及com.android.vending.licensing.ILicensingService,並保留了所有的Native變數名及類名,所有類中部分以設定了固定參數格式的構造函數,枚舉等等。)讓proguard.cfg起作用的做法很簡單,就是在eclipse自動生成的default.properties文件中加上一句「proguard.config=proguard.cfg」就可以了完整的default.properties文件應該如下: # This file is automatically generated by Android Tools. # Do not modify this file -- YOUR CHANGES WILL BE ERASED! # # This file must be checked in Version Control Systems. # # To customize properties used by the Ant build system use, # "build.properties", and override values to adapt the script to your # project structure. # Project target. target=android-9 proguard.config=proguard.cfg 大功告成,正常的編譯簽名後就可以防止代碼被反編譯了。

熱點內容
華為伺服器雲數據遷移 發布:2025-01-04 19:55:49 瀏覽:995
綁扎搭接加密 發布:2025-01-04 19:41:52 瀏覽:475
如何設置電腦密碼時間 發布:2025-01-04 19:37:50 瀏覽:289
mupdf源碼 發布:2025-01-04 19:36:46 瀏覽:677
騰訊雲如何看雲伺服器解析 發布:2025-01-04 19:36:44 瀏覽:702
c語言入門詳解 發布:2025-01-04 19:34:17 瀏覽:429
win81的臨時文件夾 發布:2025-01-04 19:32:40 瀏覽:147
python導出資料庫 發布:2025-01-04 19:15:57 瀏覽:754
安卓怎麼安裝ios模擬器 發布:2025-01-04 19:09:56 瀏覽:163
王者安卓轉蘋果區選哪個區 發布:2025-01-04 19:03:44 瀏覽:693