android代码签名和混乱的包装

android代码签名和混乱的包装

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

研究了一下android的apk困惑签名和代码包装,假设没有混乱包。然后apk人们可以直接查看源代码反编译出来,尽管混乱包或能看懂。但不是那么容易理解,要求在至少一些时间

假设不混淆,反编译后的代码例如以下:

android代码签名和混乱的包装

基本上就是源代码。

假设混淆后,反编译后的代码例如以下:

android代码签名和混乱的包装

代码中出现非常多的a、b、c之类的变量命名,所以要读懂就具有一定的困难了!


以下先说一下apk的签名:

1.apk签名必须先弄一个key,怎样生成key呢?那么就要运用jdk来生成。

首先必须把jdk在系统环境变量中配置好。

这个就不多说了,这是使用java就必须配置好的。

2.生成keystore

执行cmd。然后使用cd 进入 C:\Program Files\Java\jdk1.6.0_10\bin>(也就是你C盘的安装jdk的位置)文件夹下,然后输入keytool -genkey -alias android.keystore -keyalg RSA -validity 50000 -keystore android.keystore

參数意义:-validity主要是证书的有效期,写50000天。


红色的android字样能够随便改成自己的命名。

命令运行后会在C:\Program Files\Java\jdk1.6.0_10\bin>文件夹下生成 android.keystore文件。例如以下图:

android代码签名和混乱的包装


android代码签名和混乱的包装


弄到apk后就能够打包了,而且带上自己的签名。

在打包前我们须要加点东西来混淆代码。是我们打包后再反编译后无法正常查看代码。

混淆代码事实上灰常简单。在须要打包的项目下找到 project.properties这个文件。打开然后在最以下加上一句话就ok了,例如以下图:android代码签名和混乱的包装

低版本号的adt不是这样写的。高版本号就这样写就ok了,假设是低版本号的话是写成 proguard.config=proguard.cfg。只是如今一般都用不上了,都是搞版本号的。在高版本号中这样写就会在打包的最后步骤上报错:报错的大概内容是:

invalid proguard configuration file path c:…/proguard.cfg dose not exist  or is not regular file


加完后就能够签名打包apk了。

在Eclipse界面点击 File-》Export…

android代码签名和混乱的包装


android代码签名和混乱的包装


android代码签名和混乱的包装


android代码签名和混乱的包装


android代码签名和混乱的包装


然后就能够了!成功到处带签名的混淆代码的apk。



版权声明:本文博客原创文章,博客,未经同意,不得转载。

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

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

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


相关推荐

  • IntelliJ IDEA安装及jsp开发环境搭建

    IntelliJ IDEA安装及jsp开发环境搭建一、前言  现在.net国内市场不怎么好,公司整个.net组技术转型,就个人来说还是更喜欢.net,毕竟不是什么公司都像微软一样财大气粗开发出VS这样的宇宙级IDE供开发者使用,双击sln即可打开项目,一直想吐槽为嘛java项目只能import。昨天一路踩坑,花了一整天的时间搭建好jsp的开发环境,特此记录下安装过程中一些注意的问题以及解决方案。整个过程槽点满满…二、IntelliJIDEA…

    2022年10月21日
    2
  • C语言-函数-递归数列

    C语言-函数-递归数列题目:递归数列类别函数与递归程序类型:代码片段时间限制:2S内存限制10000Kb问题描述一个数列A定义如下A(1)=1,A(2)=1/(1+A(1)),A(3)=1/(1+A(2)),……A(n)=1/(1+A(n-1))。定义一个函数function用来计算数列的第第n项的值,函数声明如下:doublefunction(intn);输入说明:输入为1个…

    2025年10月28日
    3
  • MySql基础知识总结(SQL优化篇)

    MySql基础知识总结(SQL优化篇)1、建表语句+联合索引CREATETABLE`student`(`id`int(10)NOTNULL,`name`varchar(20)NOTNULL,`age`int(10)NOTNULL,`sex`int(11)DEFAULTNULL,`address`varchar(100)DEFAULTNULL,`phone`varchar(100)DEFAULTNULL,`create_time`timestamp.

    2022年10月5日
    2
  • vue引入js文件并使用_css引入js

    vue引入js文件并使用_css引入js1.处理js文件,注意格式,一定要export,否则获取到的为null2.在Vue中引入jsimportallinfofrom”../../../../static/js/allinfo.js”;3.使用js中的数据vardata=allinfo.属性名称;

    2022年10月8日
    4
  • windows根据端口号杀进程_如何通过端口号查看进程

    windows根据端口号杀进程_如何通过端口号查看进程Window根据端口号杀进程

    2025年9月13日
    7
  • 大数据开发 岗位需要的知识——写给大数据开发初学者的话

    经常有初学者在博客和QQ问我,自己想往大数据方向发展,该学哪些技术,学习路线是什么样的,觉得大数据很火,就业很好,薪资很高。如果自己很迷茫,为了这些原因想往大数据方向发展,也可以,那么我就想问一下,你的专业是什么,对于计算机/软件,你的兴趣是什么?是计算机专业,对操作系统、硬件、网络、服务器感兴趣?是软件专业,对软件开发、编程、写代码感兴趣?还是数学、统计学专业,对数据和数字特别感兴趣

    2022年4月9日
    57

发表回复

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

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