简单的签名校验CrackMe
各路大神的签名校验合集内置7种签名校验方法,5种在java层,2种在so层
都非常简单,不需要ida,不需要调试
1.普通的签名校验(MD5计算)
2.校验Application(检查是否被动态代{过}{滤}理)
3.提早检测(在调用attachBaseContext之前检测签名)
4.检测PM代{过}{滤}理(检查IPackageManager有没有被动态代{过}{滤}理)
5.较新的API检测(用API28以上的新API去获取)
6.普通校验sha1值(so层,不过这个延迟3秒退出程序)
7.普通签名校验(so层)
MT一键去签名校验无法完美通过,过60加固签名校验方法也无法完美通过
总共涉及3个MD5,通用方法生成的,我把工具类放出来,也可以把自己的签名转换md5替换我的,也可以达到过签名校验
成功条件,修改红框文本,并过签名校验,让所有都显示通过
(核心破解以及只改显示字符串不算)
仅简单混淆了一下,再加一个乐固版本
练手之作,大神勿喷
//生成大写的MD5
public static String MD5(String str) {
char hexDigits[] = {
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd',
'e', 'f' };
try {
byte[] strTemp = str.getBytes();
MessageDigest mdTemp = MessageDigest.getInstance("MD5");
mdTemp.update(strTemp);
byte tmp[] = mdTemp.digest();
char strs[] = new char;
int k = 0;
for (int i = 0; i < 16; i++) {
byte byte0 = tmp;
strs = hexDigits;
strs = hexDigits;
}
return new String(strs).toUpperCase();
} catch (Exception e) {
return null;
}
}
//生成小写的MD5
public static String MD55(String sourceStr) {
String result = "";
try {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(sourceStr.getBytes());
byte b[] = md.digest();
int i;
StringBuffer buf = new StringBuffer("");
for (int offset = 0; offset < b.length; offset++) {
i = b;
if (i < 0)
i += 256;
if (i < 16)
buf.append("0");
buf.append(Integer.toHexString(i));
}
result = buf.toString();
} catch (NoSuchAlgorithmException e) {
System.out.println(e);
}
return result;
}
//其中MyApplication类中的是sign转base64转换过的
public class Base64Util {
/**
* 二进制数组 编码成 二进制数组
* @Param input
* @return
*/
public static byte[] encodeToBytes(byte[] input) {
return Base64.encode(input, Base64.NO_WRAP);
}
/**
* 二进制数组 编码成 字符串
* @param input
* @return
*/
public static String encodeToString(byte[] input) {
return Base64.encodeToString(input, Base64.NO_WRAP);
}
/**
* 二进制数组 解码成 二进制数组
* @param input
* @return
*/
public static byte[] decode(byte[] input) {
return Base64.decode(input, Base64.NO_WRAP);
}
/**
* 字符串 解码成 二进制数组
* @return
*/
public static byte[] decode(String str) {
return Base64.decode(str, Base64.NO_WRAP);
}
}
大轩轩 发表于 2020-8-5 15:33
都是爆破出来的
修改前
具体看
原地址
都是爆破出来的
修改前
修改后
修改前
改SO文件我直接十六进制 0000,然后 if 就没了{:1_907:},想请教一下这么只去掉不等于 != 这个!
另外请问较新的API检测那个是什么意思,只是改了跳转过了
用心讨论,共获提升! 感谢大神分享 小程序发送请求的时候加密,然后后台解密,大佬知道吗?这种密文传输 太棒了,谢谢分享 厉害厉害,so签名验证难过 我是来学习的。。。 链接挂了??? AIfeifei 发表于 2020-5-31 08:04
链接挂了???
没有呀,还是可以下载的 小骚 发表于 2020-5-31 08:34
没有呀,还是可以下载的
好吧,换个浏览器就可以下载了。。。。
页:
[1]
2