当前位置:首页 » 编程软件 » 安卓防反编译

安卓防反编译

发布时间: 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 大功告成,正常的编译签名后就可以防止代码被反编译了。

热点内容
无刷新上传aspnet 发布:2025-01-02 04:14:47 浏览:676
android3d游戏开发技术宝典 发布:2025-01-02 03:49:32 浏览:168
硬件编译成功然后软件编译成功 发布:2025-01-02 03:42:36 浏览:16
高德地图怎么上传位置 发布:2025-01-02 03:15:54 浏览:401
UE报错无法初始化ftp组件 发布:2025-01-02 03:15:47 浏览:77
手指算法一 发布:2025-01-02 02:58:00 浏览:447
pythonbuiltin 发布:2025-01-02 02:57:17 浏览:334
缓存youtube视频 发布:2025-01-02 02:46:28 浏览:38
数据加密书籍 发布:2025-01-02 02:37:30 浏览:263
ftp上传网站源码 发布:2025-01-02 02:36:04 浏览:409