Java代码加密,Java加密方式,Java加密使用说明
概述
Java2C针对DEX文件进行加密保护,将DEX文件中标记的Java代码翻译为C代码,编译成加固后的SO文件。默认情况只加密activity中的onCreate函数,如果开发者想加密其它类和方法,只需对相关类或函数添加标记代码,在APK加密时会自动对标记的代码进行加密处理【或者找几维的技术支持人员在后台添加Java函数白名单策略来对重要的函数进行加密】。
使用步骤
1.定义Annotation
在Android工程项目中,定义一个名为LDPProtect的Annotation,如以下截图
2.对类进行加密
在需要加密的类前面添加@LDPProtect,即可对类中除构造函数之外的其它函数进行安全加固,如下图:
3.对函数进行加密
在需要加密的函数前面添加@LDPProtect,即可对该函数进行安全加固,如下图:
4.编译项目,加密APK
A.编译项目生成release版本的APK文件
B.用正式签名文件对APK包进行签名
C.提交APK包到几维安全开发者平台进行安全加固
D.下载加密包并再次签名
E.安装使用
加密效果
1.类加密效果
原始Java代码截图
利用apktool反编译apk查看smali代码,因不加密构造函数,所以构造函数的smali代码和原始smali代码一样,而ktest1、ktest2方法已被加密转换,其smali代码已不包含原始业务逻辑。
通过IDA分析SO文件,可以找到对应的函数列表
通过IDA进一步分析Java_cc_jnidemo_com_jnidemo_KwTest_ktest1这个函数,可以发现Java层的代码已经成功转化C代码。此处为了更直观的展示效果,并未做混淆保护,在实际加密中,可进一步结合Native层的代码混淆和虚拟化技术,达到高强度的安全保护。转化后的C代码截图如下:
2.函数加密效果
原始Java代码截图
利用apktool反编译后的smali代码截图
通过IDA分析SO文件,可以找到对应的函数列表,转化后的C代码可参考类加密效果
友情告知地址,Java代码加密,Java加密方式:https://www.kiwisec.com/product/java2c.html
Java代码加密,Java加密方式,Java加密使用说明相关推荐
- 上传图片的表单java代码_java模拟post方式提交表单实现图片上传(示例代码)
转自:http://blog.csdn.net/5iasp/article/details/8669644 模拟表单html如下: java代码如下: [java] view plain copy p ...
- matlab中调用java代码_Matlab中调用第三方Java代码
在Java中采用Matlab JA Builder可以实现调用m文件,采用这样的方式,可在Matlab的M文件中,直接调用Java类.这种方式可以表示为Java--> Matlab( m, Ja ...
- java 代码执行el,专属于java的漏洞——EL表达式注入
前言"FSRC经验分享"系列文章,旨在分享焦点科技信息安全部工作过程中的经验总结,包括但不限于漏洞分析.运营技巧.sdl推行.等保合规.自研工具等等. 欢迎各位安全从业者持续关注~ ...
- rose 生成java代码_Rational Rose双向工程java代码生成与图生成
OSE思想是复杂的,内涵是丰富的,操作是别扭的,文档是简单的,人性是没有的.然而人们对它趋之若鹜的原因恐怕是我们现在的TEAMLEADER,SA受RUP的'毒害'颇深的原因,而这也将影响到徒弟–将来的 ...
- Java连接mysql数据库的方式,java连接mysql数据库的方式(4句语句)
1 加载mysql驱动: class.forName("con.mysql.jdbc.Driver").newInstance(); 2 根据数据库路径url,账号,密码进行数据库 ...
- java代码初体验_第一次Java 8体验
java代码初体验 像世界其他地方一样,我深深地爱上了Slack. 为什么? 原因很多,但主要的原因是它提供了一种围绕通讯而非工具真正构建SDLC流程的新方法. 您认为这些天哪个更常见,杂乱无章的机智 ...
- java 代码解析工具_改善 Java 代码质量的工具与方法
原标题:改善 Java 代码质量的工具与方法 我们可能见过上面的有关代码质量的图片,究竟如何衡量一段代码好坏? 代码质量是什么?为什么它很重要? 作家通过他的著作来讲述了一个清晰的.令人信服的故事.他 ...
- 最牛逼的java代码_分享史上java最牛逼,最简短的代码
确实是12306的最核心代码呀 alert("当前访问用户过多,请稍后重试!"); 确实牛 public class Test{ static{ System.out.printl ...
- 最牛逼的java代码_分享史上java最牛逼 最简短的代码-Go语言中文社区
也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 确实是12306的最核心代码呀 确实牛public class Test{ static{ System.ou ...
- oracle是java代码块,Oracle中施行java代码
Oracle中执行java代码 1.在ORACLE数据库中创建功能类(实现签名): create or replace and compile java source named TestName a ...
最新文章
- redis之 centos 6.7 下安装 redis-3.2.5
- 剑灵总显示服务器断开连接,求解一分钟“与服务器断开连接”问题
- 用八块腹肌调戏智能屏是一种什么体验?
- Django 之母板
- mariadb数据库备份与恢复
- 品牌到底要不要做全渠道?且听他们怎么说……
- 60.Java 代码编译和执行的整个过程
- 【渝粤题库】广东开放大学 传播学理论与实务 形成性考核
- document.cookie 获取不到_意想不到,王者荣耀中不用花钱就可以获得的皮肤有哪
- python怎么做软件程序_Revit二次开发python怎么做?人工智能python语言在BIM软件高效建模的运用尝试...
- 吴恩达机器学习学习笔记第二章:单变量线性回归
- Requirements Analysis with 'pseud-Formal' Method
- VK1640兼用TM1640
- 【学习目录】支持向量机原理网络资料整理
- 使用Python 去除kg视频水印代码
- 计算机组成原理——存储器系统
- 三、REPL(交互式解释器)
- 文件系统 fsck和e2fsck使用-小白实操记录
- Lyx的安装流程(windows10系统)及配置中文环境
- 微波射频学习笔记17-------LC谐振的验证和LC滤波器原理