android命令行工具 混淆,Android 混淆代码学习以及Android加密工具--APKProtect的使用ZZ...
一:情景分析
有时候看到其他应用App的一些效果很炫,或者是功能实现很好就想着参考参考,于是乎,下载APK----反编译APK---查看源码。。。。,但是悲剧来了。。。。源码都是些a,b,c。。。等等这样的东东,根本啥都看不明白,后来了解到这是程序的作者保护自己劳动成果的“手段”,于是乎
自己就想咱也试着“保护一下”自己的劳动成果吧,至此开启了“Android混淆代码”的旅程
二:初始
了解到Android混淆代码这个名词以后,于是乎 百度。。谷歌。。。,哇哦
看来大家都已经掌握了这门技能了(自己落后了。。。。),介绍此技能的技术文档,博客是一大批一大批的啊。。。。于是乎
自己找了一个相对详细的教程开始学习
三:实践
根据以上教程的介绍,混淆代码方法有两种,一种是低版本的混淆,一种是高版本的混淆
鉴于自己的版本是高版本的,因此就实践了高版本的混淆
按照教程步骤如下:
1:打开project.properties
哇哦 一大段英文。。。。。。 不过仔细阅读 还是可以懂滴,看到一句这样的话
意思是说 想要混淆代码 就将下面那句话取消注释,于是乎 咱就取消注释呗。教程中有说要将配置信息放在target=android-8之后
,至此简单的混淆代码就完成了(前人种树,后人乘凉啊)
在搜索Android混淆代码的知识点时,也有一些比较深层次的内容,比如如果项目引入了第三方库,该怎样混淆,如果自己将自己的项目作为第三方库给别人使用,又怎样混淆.鉴于自己还没有涉及这方面的知识,所以就暂且不深入学习,只做个大概了解(知识是无穷无尽的。。。。。)
四 扩展
在调查Android混淆代码的时候,看到了一个工具:APKProtect
虽然文档标题是混淆工具,不过因为我在实践的时候,发现它并没有提到混淆的作用,于是乎询问了作者,作者说这个不是混淆工具,是加密工具,目前只做了Activity,service,reciver的加密,加密的通俗意思是:反编译apk之后,就看不到Activity,service,reciver这些class文件了
接下来呢 就是咱们动手实践的时间了
下载APKProtect这个工具,下载完成后解压,看到
双击打开.exe文件
选择将要加密的apk,不做任何设置,工具会自动命名之后保存的加密的apk名字,你也可以自己命名
点击protect按钮,然后等待,出现process done 对话框之后
至此 加密工作完成,反编译一下 瞧瞧 哇哦 Activity没有了!!!话说
还不能高兴的太早,将加密后的文件运行到Android手机上 See See ,咦。。。。不幸的事情发生了。。。。。
不能安装,提示信息是证书有问题,后来询问了作者,作者说加密的apk要重新在签名一次并且需要设置
于是乎打开工具,在主界面看到了Protection option ,里面有一些设置信息,既然安装apk时
说是我们的签名有问题,那就设置我们的签名,因为我用的是自己自定义的签名所以进入设置界面,进行相关设置,然后保存,再加密文件
在填写设置信息中,要填写keystore的相关信息,因为keystore创建很久了,一些信息忘记了,于是乎
要查看keystore的相关信息怎么查看呢,百度。。。谷歌。。。。
查看Keystore相关信息:
在命令行中,到jdk/bin文件下 然后输入
keytool -list -v -keystore (keystore的位置)
就可以看到相关信息了
扩展,怎样生成自定义的keystore
在命令行中, 到jdk/bin文件下 然后输入
keytool -genkey -alias android.keystore -keyalg RSA -validity
20000-keystore android.keystore
-alias 密钥别名
-keyalg 密钥算法
-validity 密钥有效期
总结:既然在加密apk的时候要重新签名APK,那么我们可以在Eclipse导出apk时,先不签名,然后在加密的时候在签名
五:感想
至此呢,我们就给APK加了“双层保护”,也保护了我们的劳动成果!完美收工
android命令行工具 混淆,Android 混淆代码学习以及Android加密工具--APKProtect的使用ZZ...相关推荐
- 【Android 命令行工具】Android 命令行工具简介 ( 官方文档 | SDK 命令行工具 | SDK 构建工具 | SDK 平台工具 | 模拟器工具 | Jetifier 工具 )
文章目录 一.官方文档 二.Android 命令行工具简介 1.SDK 命令行工具 2.SDK 构建工具 3.SDK 平台工具 4.模拟器工具 5.Jetifier 工具 一.官方文档 Android ...
- 【错误记录】记录 Android 命令行执行 Java 程序中出现的错误 ( dx 打包 PC 可执行文件报错 | dalvik 命令执行 kotlin 编译的 dex 文件报错 )
文章目录 前言 一.Android 命令行与 PC 可执行 JAR 文件不兼容 二.Android 命令行使用 dalvik 命令不能直接执行 Kotlin 编译的 dex 文件 前言 尝试在 And ...
- 【Android 逆向】修改运行中的 Android 进程的内存数据 ( Android 命令行中获取要调试的应用进程的 PID | 进程注入调试进程内存的 so 库 )
文章目录 一.Android 命令行中获取要调试的应用进程的 PID 二.进程注入调试进程内存的 so 库 一.Android 命令行中获取要调试的应用进程的 PID 前置博客 [Android 逆向 ...
- android的命令行使用,Android命令行启动程序正确使用技巧解析
Android程序启动的方式除了使用界面方式进行启动之外,还能通过命令行启动.那么就让我们大家一起来看看Android命令行启动程序的具体操作方法. Android应用程序的启动方法有许多种,大家可以 ...
- Android命令行启动应用方法
Android命令行启动程序正确使用技巧解析 Android程序启动的方式除了使用界面方式进行启动之外,还能通过命令行启动.那么就让我们大家一起来看看Android命令行启动程序的具体操作方法. An ...
- 将blast等工具的命令行写入到biopython的代码脚本中
biopython: Bio.Application package全面解析 将生物信息学工具(blast,muscle,bwa,samtool等)的命令行写入到biopython的代码脚本中 大家好 ...
- 在window的cmd命令行中通过chcp修改代码页--正确显示utf-8字符
Mt8616的开发板通过adb工具可以在Windows系统的cmd命令行显示出debug信息,但是mt8516开发板的系统上是移植的裁剪的linux系统,也就是里面的文件是utf-8的编码形式,不能正 ...
- [crypto]-53-openssl命令行的使用(aes/rsa签名校验/rsa加密解密/hmac)
常用技巧 如何编写一个二进制规律性的文件, 比如你可以编写一个"0123456789abcdef"的文本文件,记得删除换行符然后用ultraedit打开,ctrl+H就可以看到二进 ...
- Android命令行工具logcat详细用法!
logcat是Android中一个命令行工具,可以用于得到程序的log信息. 见板凳详细说明! 本贴内容来自网络,引用网址为:http://hi.baidu.com/%C9%C1%D2%AB ...
最新文章
- 使用ultraedit和cl编译器打造简易c/c++开发环境
- ThinkPHP URL模式和URL重写
- centos6.8防火墙模块未加载
- IOS UI 第三篇:基本UI
- C# 判断两个日期是否是同一天
- python内置函数type_Python基于内置函数type创建新类型
- 计算机专业 学习路线
- Windows磁盘格式、分区格式及类型
- 上海瀚示中文彩显拣货标签 智能仓储物流工匠级革新
- 【海思3798系列机顶盒NAS分区表修改软件】
- android 下载保存视频到本地相册刷新 机型适配问题
- 3.3 Options
- TOJ4309 表达式求值 stack
- 在大学里要作的20件事
- STM32F103芯片 LQFP100封装引脚分布
- MySQL最全整理!高级java开发工程师面试题
- harrier 查看查看服务器状态,机油尺检查细节多多,嘉普力汽配工场教你如何正确查看机油尺...
- JWK和JWKs的格式
- php - 超详细将 pdf 文档格式转换为图片格式,将 offce pdf 演示文稿转成图像 png / jpg(小白一看就懂的详细教程,附带完整示例源代码)
- panda 满足条件的行 index_丽江自由行: 我如何安排我从广州到丽江的行程?
热门文章
- 让VSCode的快捷键切换为WebStorm/IDEA的快捷键、修改颜色主题(深色模式)、文件图标主题
- ATS 6.2.1中缓存文件过期并不回源校验的“坑”
- shell --- awk规范 系统总结
- 二叉树:路径之和 Path Sum
- vectorbool不是容器
- [Tracking] KCF + KalmanFilter目标跟踪
- 【.Net】vs2017 自带发布工具 ClickOnce发布包遇到的问题
- 数据库 大数据访问及分区分块优化方案
- 第二阶段第三次站立会议
- 深入JDK源码,这里总有你不知道的知识点!