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。



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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Linux dpkg 命令

    Linux dpkg 命令Linuxdpkg命令note:软件测试实习笔记1dpkgdpkg-idpkg-rdpkg-Pdpkg-ldpkgdpkg是linux系统下用来安装、创建和管理软件包的工具。其安装的软件包一般是下载到本地的软件包,拓展名是deb。格式:dpkg参数package.deb(初学者容易忘记打空格,在命令和参数以及参数和软件包中间要打空格,否则linux会无法

  • Ubuntu 系统 dpkg 命令使用详解

    Ubuntu 系统 dpkg 命令使用详解dpkg即packagemanagerforDebian,是Debian和基于Debian的系统中一个主要的包管理工具,可以用来安装、构建、卸载、管理deb格式的软件包。安装软件使用dpkg命令安装软件时,可以使用-i选项并指定deb安装包的路径。和Ubuntu下的另一个包管理工具apt-get(AdvancedPackageTool)有所不同。apt-get命令并不直接操作deb安装包文件,而是从/etc/apt/s…

  • c++ 线程间通信方式「建议收藏」

    c++ 线程间通信方式「建议收藏」线程同步和线程互斥互斥:是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。但互斥无法限制访问者对资源的访问顺序,即访问是无序的,线程间不需要知道彼此的存在。同步:是指在互斥的基础上(大多数情况),通过其它机制实现访问者对资源的有序访问,线程间知道彼此的存在。在大多数情况下,同步已经实现了互斥,特别是所有写入资源的情况必定是互斥的。少数情况是指可以允许多个访问者同时访问资源线程…

  • JS前端生成二维码的几种方式「建议收藏」

    JS前端生成二维码的几种方式「建议收藏」这里简单介绍几种前端实现js生成二维码的方式

  • 浏览器渲染原理解析建议收藏

    Web页面运行在各种各样的浏览器当中,浏览器载入、渲染页面的速度直接影响着用户体验简单地说,页面渲染就是浏览器将html代码根据CSS定义的规则显示在浏览器窗口中的这个过程。先来大致了解一下浏览器都是

    2021年12月21日
  • SE是什么意思_pe是什么的英文简称

    SE是什么意思_pe是什么的英文简称AEApplicationEngineer应用工程师。定位:IC流片后,需要在通用应用系统(比如Intel/AMD主板)或者关键刻画的系统平台上进行功能验证,发现问题反馈给IC设计工程师。与FAE相比,AE偏向IC设计,FAE偏向市场对一点。FAEFieldAppilcationEngineer现场应用工程师,又称现场应用技术支持工程师。定位:IC产品在客户端送样时,可能出现技术问题,协助客户的工程技术人员解决技术问题;协助市场人员,从技术角度推广产品,开拓新客户,收集客户的技术问题与

    2022年10月24日

发表回复

您的电子邮箱地址不会被公开。

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