⑴ 请推荐一下安卓系统手机用的磁盘加密工具。要求类似PC机上的TrueCrypt,或者StrongDisk CE类似的。
StrongDisk CE也不好用,每次加载虚拟盘时都停在此界面不能退出。最后还要重启
⑵ android APP加密方法都有哪些
1 伪加密是Android4.2.x系统发布前的Android加密方式之一,通过java代码对APK(压缩文件)进行伪加密,其修改原理是修改连续4位字节标记为”P K 01 02”的后第5位字节,奇数表示不加密偶数表示加密。
2 混淆保护
把原来有具体含义的类名,变量名,方法名,修改成让人看不懂的名字,例如方法名getUserName编程了方法名。
混淆保护只是增加了代码阅读难度,对于破解基本上是没有实质性作用的
运行时验证,主要是指在代码启动的时候本地获取签名信息然后对签名信息进行检验来判断自己的应用是否是正版,如果签名信息不是正版则提示盗版或者直接崩溃。当然你可以把必要的数据放在服务器端。Android APP加密方法都有哪些?破解:找到smali文件中,判断是否相等的部分。改为常量true,即失效。
总之,反编译一些apk之后,只要是java代码写的总会有smil文件。对于smil文件,如果耐心读的话,还是可以查看到一些关键代码的。
相较于应用来说,游戏apk因为采用cocos2d-x或者 unity3D,采用的是c++和c# 编写的跨平台程序,在apk采用JNI的方式。所以没有smali,可以防止静态被破解apk包。
当然游戏包apk在运行的时候,会把.*so加载到内存中。动态也是可以在内存中抓取相应的数据。只不过NDK相对于smali破解来说,根部不是一个层级的关系。
3 使用第三方Android加密平台
⑶ 求安卓加密,安卓应用加密方式
android是用java语言开发的,java语言,JDK给我们提供了非常多的加密算法
如基本的单向加密算法:
BASE64 严格地说,属于编码格式,而非加密算法
MD5(Message Digest algorithm 5,信息摘要算法)
SHA(Secure Hash Algorithm,安全散列算法)
HMAC(Hash Message Authentication Code,散列消息鉴别码)
复杂的对称加密(DES、PBE)、非对称加密算法:
DES(Data Encryption Standard,数据加密算法)
PBE(Password-based encryption,基于密码验证)
RSA(算法的名字以发明者的名字命名:Ron Rivest, AdiShamir 和Leonard Adleman)DH(Diffie-Hellman算法,密钥一致协议)
DSA(Digital Signature Algorithm,数字签名)
ECC(Elliptic Curves Cryptography,椭圆曲线密码编码学)
以下就是讲解BASE64、MD5、SHA、HMAC几种方法
MD5、SHA、HMAC这三种加密算法,可谓是非可逆加密,就是不可解密的加密方法。我们通常只把他们作为加密的基础。单纯的以上三种的加密并不可靠。
一. BASE64
按 照RFC2045的定义,Base64被定义为:Base64内容传送编码被设计用来把任意序列的8位字节描述为一种不易被人直接识别的形式。(The Base64 Content-Transfer-Encoding is designed to represent arbitrary sequences of octets in a form that need not be humanly readable.)
常见于邮件、http加密,截取http信息,你就会发现登录操作的用户名、密码字段通过BASE64加密的。
二. MD5
MD5 -- message-digest algorithm 5 (信息-摘要算法)缩写,广泛用于加密和解密技术,常用于文件校验。校验?不管文件多大,经过MD5后都能生成唯一的MD5值。好比现在的ISO校验,都 是MD5校验。怎么用?当然是把ISO经过MD5后产生MD5的值。一般下载linux-ISO的朋友都见过下载链接旁边放着MD5的串。就是用来验证文 件是否一致的。
三. SHA
SHA(Secure Hash Algorithm,安全散列算法),数字签名等密码学应用中重要的工具,被广泛地应用于电子商务等信息安全领域。虽然,SHA与MD5通过碰撞法都被破解了, 但是SHA仍然是公认的安全加密算法,较之MD5更为安全。
四. HMAC
HMAC(Hash Message Authentication Code,散列消息鉴别码,基于密钥的Hash算法的认证协议。消息鉴别码实现鉴别的原理是,用公开函数和密钥产生一个固定长度的值作为认证标识,用这个 标识鉴别消息的完整性。使用一个密钥生成一个固定大小的小数据块,即MAC,并将其加入到消息中,然后传输。接收方利用与发送方共享的密钥进行鉴别认证 等。
⑷ 如何加密Android apk
1、可以自己混淆打包
2、使用第三方加固工具:网络加固、360加固、腾讯加固、爱加密等
⑸ apk加密工具有哪些如何给安卓apk加密
现在对apk基本的混淆保护可以说几乎没用,为什么?因为现在黑客的破解方法非常高啊,一般的加密给你破了那是分分钟的事啊。静态,动态防破解都要做好,我也是摸索了好久,自己是在没办法了,找的第三方app加密的工具叫爱加密,确实是专业,加密技术很高端,有三层加密保护:DEX加壳保护,DEX指令动态加载保护,高级混淆保护,并且还有SO库保护什么什么的,测试了下比较牛就一直在用了,重点是免费,嘿嘿
— —— )别处转的,希望有用,谢谢
⑹ 有没有什么安卓软件可以把一些手机软件加密,别人打开需要密码
应用锁你只要在安卓市场里面下载,跟所有过的就会出来很多这样子的软件
⑺ 安卓手机上有没有有防止卸载功能的隐私加密软件。谢谢!最好用的最强大的
你说的就是加把锁,
软件界面与加密方式
1、金山隐私保险箱
一贯秉持简单实用的原则,在界面上也不例外,第一印象就是一目了然。进入软件,在“设置”选项里可进行“更改解锁方式”、“更改密码”等操作,值得一提的是,解锁方式提供了“图案”和“数字”两种加密方式可供选择。
使用感受:界面清新,功能图标醒目,便于寻找和操作。两种加密方式让加密性能提高一倍。
2、隐私保护
官方介绍“隐私保护”是一款以能保护手机文件和应用程序的系统工具。保护SD卡上的文件和手机应用程序吗?
在界面上相对来说要绚丽一些,但加密软件光有绚丽的外表还远远不够。
隐私保护目前只有一种加密方式,显得稍显单薄。
直观感受:外形华丽,长期面对屏幕也不伤眼睛。
3、海卓隐私管家
海卓隐私管家是整合了程序锁、文件加密、隐私空间、痕迹清理四个方面的加密软件。
直观感受:在界面观感上远不如金山隐私保险箱、隐私保护,但对初次使用的用户来讲,图标+文字的界面比较简单易操作;加密方式同样只有数字加密一种。
操作体验和特点
1、金山隐私保险箱
进入界面后,按个人需求选择“图片”、“视频”、“文件”选项,输入相应的密码后(可根据喜好选择加密方式),进行添加即可。
进入相应界面,在底部有对应的操作按钮,其中有卸载监控功能,防止恶意卸载,因此不用担心文件会被误删除。
点评:该软件在操作体验上简单实用,被加密的文件是被隐藏在保险箱内,其他人是不会看到任何信息的(即便用媒体库搜索也无法找到);而机主可以直接在应用内查看大图、流畅播放视频。
2、隐私保护V3.6.5
进入菜单,界面显示“已加密文件”、“未加密文件”、“应用加密”等选项可供选择。选择“应用加密”选项,进入下图的界面。
用户可根据个人意愿对程序进行锁定
其他选项的操作也与之相似。
点评:用户体验一般,但操作简单流畅。
3、海卓隐私管家
进入菜单后有“程序锁”、“痕迹清理”、“隐私空间”、“文件加密”四个选项共用户选用。以“程序锁”为例,点击进去后,可看到如下图的界面。
因为该软件集合了程序锁,因此对各种程序进行锁定这部分功能与“程序锁(App Protector)、“隐私保护”雷同,但在界面上明显逊色很多。
“痕迹清理”、“隐私空间”功能都是对常见普通功能进行的整合。
⑻ android,java 通用的加密解密方式有几种
移动端越来越火了,我们在开发过程中,总会碰到要和移动端打交道的场景,比如.NET和android或者iOS的打交道。为了让数据交互更安全,我们需要对数据进行加密传输。今天研究了一下,把几种语言的加密都实践了一遍,实现了.NET,java(android),iOS都同一套的加密算法,下面就分享给大家。
AES加密有多种算法模式,下面提供两套模式的可用源码。
加密方式:
先将文本AES加密
返回Base64转码
解密方式:
将数据进行Base64解码
进行AES解密
一、CBC(Cipher Block Chaining,加密块链)模式
是一种循环模式,前一个分组的密文和当前分组的明文异或操作后再加密,这样做的目的是增强破解难度.
密钥
密钥偏移量
java/adroid加密AESOperator类:
package com.bci.wx.base.util;
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
/**
* AES 是一种可逆加密算法,对用户的敏感信息加密处理 对原始数据进行AES加密后,在进行Base64编码转化;
*/
public class AESOperator {
/*
* 加密用的Key 可以用26个字母和数字组成 此处使用AES-128-CBC加密模式,key需要为16位。
*/
private String sKey = "smkldospdosldaaa";//key,可自行修改
private String ivParameter = "0392039203920300";//偏移量,可自行修改
private static AESOperator instance = null;
private AESOperator() {
}
public static AESOperator getInstance() {
if (instance == null)
instance = new AESOperator();
return instance;
}
public static String Encrypt(String encData ,String secretKey,String vector) throws Exception {
if(secretKey == null) {
return null;
}
if(secretKey.length() != 16) {
return null;
}
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
byte[] raw = secretKey.getBytes();
SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
IvParameterSpec iv = new IvParameterSpec(vector.getBytes());// 使用CBC模式,需要一个向量iv,可增加加密算法的强度
cipher.init(Cipher.ENCRYPT_MODE, skeySpec, iv);
byte[] encrypted = cipher.doFinal(encData.getBytes("utf-8"));
return new BASE64Encoder().encode(encrypted);// 此处使用BASE64做转码。
}
// 加密
public String encrypt(String sSrc) throws Exception {
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
byte[] raw = sKey.getBytes();
SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
IvParameterSpec iv = new IvParameterSpec(ivParameter.getBytes());// 使用CBC模式,需要一个向量iv,可增加加密算法的强度
cipher.init(Cipher.ENCRYPT_MODE, skeySpec, iv);
byte[] encrypted = cipher.doFinal(sSrc.getBytes("utf-8"));
return new BASE64Encoder().encode(encrypted);// 此处使用BASE64做转码。
}
// 解密
public String decrypt(String sSrc) throws Exception {
try {
byte[] raw = sKey.getBytes("ASCII");
SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
IvParameterSpec iv = new IvParameterSpec(ivParameter.getBytes());
cipher.init(Cipher.DECRYPT_MODE, skeySpec, iv);
byte[] encrypted1 = new BASE64Decoder().decodeBuffer(sSrc);// 先用base64解密
byte[] original = cipher.doFinal(encrypted1);
String originalString = new String(original, "utf-8");
return originalString;
} catch (Exception ex) {
return null;
}
}
public String decrypt(String sSrc,String key,String ivs) throws Exception {
try {
byte[] raw = key.getBytes("ASCII");
SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
IvParameterSpec iv = new IvParameterSpec(ivs.getBytes());
cipher.init(Cipher.DECRYPT_MODE, skeySpec, iv);
byte[] encrypted1 = new BASE64Decoder().decodeBuffer(sSrc);// 先用base64解密
byte[] original = cipher.doFinal(encrypted1);
String originalString = new String(original, "utf-8");
return originalString;
} catch (Exception ex) {
return null;
}
}
public static String encodeBytes(byte[] bytes) {
StringBuffer strBuf = new StringBuffer();
for (int i = 0; i < bytes.length; i++) {
strBuf.append((char) (((bytes[i] >> 4) & 0xF) + ((int) 'a')));
strBuf.append((char) (((bytes[i]) & 0xF) + ((int) 'a')));
}
return strBuf.toString();
}
⑼ android 加密方式有哪些
安卓APP加密的方法主要分成三类:源码加密、数据安全和应用保护,而每一类又分成好几个小项。 源码加密包括:Dex文件保护、防二次打包、so文件保护、资源文件保护。以Dex文件保护为例,Dex文件保护又包括:高级混淆、DEX文件加壳、DEX文件加花、。可以看看安卓巴士的教程:http://www.apkbus.com/thread-312020-1-1.html
⑽ Android APP加密方法都有哪些
伪加密是Android4.2.x系统发布前的Android加密方式之一,通过java代码对APK(压缩文件)进行伪加密,其修改原理是修改连续4位字节标记为”P K 01 02”的后第5位字节,奇数表示不加密偶数表示加密。
Android APP加密方法都有哪些?
虽然伪加密可以起到一定防破解作用,但也会出现问题,首先使用伪加密对其 Android APK加密后市场无法对其进行安全检测,导致部分市场会拒绝这类APK上传;其次,伪加密的加密方式和解密方式也早已公布导致它的安全程度也大大降低;再次,Android4.2.x系统无法安装伪加密的APK;最后伪加密只是对APK做简单保护,在java层源码加壳保护、核心so库、资源文件、主配文件、第三方架包方面却没有任何保护处理。Android APP加密方法都有哪些?
混淆保护
把原来有具体含义的类名,变量名,方法名,修改成让人看不懂的名字,例如方法名getUserName编程了方法名。Android APP加密方法都有哪些?
混淆保护只是增加了代码阅读难度,对于破解基本上是没有实质性作用的!Android APP加密方法都有哪些?
运行时验证
运时验证,主要是指在代码启动的时候本地获取签名信息然后对签名信息进行检验来判断自己的应用是否是正版,如果签名信息不是正版则提示盗版或者直接崩溃。当然你可以把必要的数据放在服务器端。Android APP加密方法都有哪些?破解:找到smali文件中,判断是否相等的部分。改为常量true,即失效。
总之,反编译一些apk之后,只要是java代码写的总会有smil文件。对于smil文件,如果耐心读的话,还是可以查看到一些关键代码的。
相较于应用来说,游戏apk因为采用cocos2d-x或者 unity3D,采用的是c++和c# 编写的跨平台程序,在apk采用JNI的方式。所以没有smali,可以防止静态被破解apk包。Android APP加密方法都有哪些?
当然游戏包apk在运行的时候,会把.*so加载到内存中。动态也是可以在内存中抓取相应的数据。只不过NDK相对于smali破解来说,根部不是一个层级的关系。=