Android代码混淆及反编译

Android代码混淆及反编译如果你目前还是一名学生或是没有在应用商店中上传过应用,恐怕对此的感受不深。而在企业中对Java代码的混淆却是一步很重要的步骤,从安全的角度来说,代码混淆,防止居心不良的人对代码进行恶意篡改非常重要。下面就是对Android项目进行的代码混淆和加密签名过程。

大家好,又见面了,我是你们的朋友全栈君。

概述:

  如果你目前还是一名学生或是没有在应用商店中上传过应用,恐怕对此的感受不深。而在企业中对Java代码的混淆却是一步很重要的步骤,从安全的角度来说,代码混淆,防止居心不良的人对代码进行恶意篡改非常重要。下面就是对Android项目进行的代码混淆和加密签名过程。


步骤:

1.在项目的要目录中添加文件proguard.cfg

2.在项目中的project.properties文件中添加proguard.cfg

Android代码混淆及反编译

3.在proguard.cfg文件中添加

-ignorewarnings
-libraryjars libs/android-support-v4.jar

如下:

Android代码混淆及反编译

4.项目右键—>Export—>Android—>Export Android Application—>Next

Android代码混淆及反编译

5.Next过第一步之后,会进入Keystore selection的会话框,填写如下信息:

Android代码混淆及反编译

6.在接下来的Key Creation会话框中填写如下格式的信息:

Android代码混淆及反编译

7.配置好你的Apk文件名称,最后Finish

Android代码混淆及反编译

如果不出意外,到这里会很愉快地结束,并得到你想得到的经过混淆后的Apk签名文件。


反编译验证:

关于反编译的步骤可以参考:

http://blog.csdn.net/lemon_tree12138/article/details/41889363

如果顺利会是如果类似结果:

Android代码混淆及反编译


Proguard returned with error code 1. See console:

Android代码混淆及反编译

这个问题是由于代码混淆引起的,找不到引用包。只需在你的proguard.cfg中添加如下两行即可。
-ignorewarnings
-libraryjars libs/android-support-v4.jar
你可以根据你的项目提示,添加需要的jar。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/139293.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ping, telnet, tcping 命令使用及对比

    ping, telnet, tcping 命令使用及对比1.ping命令ping命令只能检查IP的连通性或网络连接速度,无法具体到某个端口。ping命令使用ICMP协议,跟IP协议属于同一层次(网络层)。ping命令在每次发数据包后都会等对方返回数据包。可以禁止ICMP协议,此时对方收到消息后不会回复。端口是传输层TCP/UDP协议的概念,比如常用的web端口指的是TCP的80端口。使用网络层的pi…

    2022年6月23日
    69
  • string用法总结[建议收藏]

    要想使用标准C++中的string类,必须要包含#include<string>注意是<string>而不是<string.h>,带.h的是C语言中的头文件s

    2021年12月18日
    34
  • nfv网络功能虚拟化[通俗易懂]

    nfv网络功能虚拟化[通俗易懂]标题作者及单位文件名日期概述数据度量OnOrchestratingVirtualNetworkFunctionsinNFVMd.FaizulBari,ShihaburRahmanChowdhury,ReazAhmed,andRaoufBoutabaDavidR.CheritonSchoolofComputerScienc…

    2025年9月5日
    6
  • 数据格式汇总及type, astype, dtype区别「建议收藏」

    数据格式汇总及type, astype, dtype区别「建议收藏」标签(空格分隔):pythonuint8在此输入正文8位的无符号整形数据取值范围从0到255一singed与unsigned的区别二float改变类型643264to32shape翻倍改变类型321632to16shape翻倍改变类型32float32tofloatshape还原float默认是float64改变类型float64intfloat64

    2022年6月11日
    39
  • 精华篇:数组指针

    精华篇:数组指针一.数组指针1.定义:数组指针,指的是数组名的指针,即数组首元素地址的指针。即是指向数组的指针。例:int(*p)[10];p即为指向数组的指针,又称数组指针。2.特性:…

    2022年7月3日
    29
  • JPA(二)JPA配置

    JPA(二)JPA配置一 依赖导入 以 maven 工程导入坐标为例 lt properties gt lt project build sourceEncodi gt UTF 8 lt project build sourceEncodi gt lt project hibernate version gt 5 0 7 Final lt project hibe

    2025年7月16日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号