参考 https://www.sohu.com/a/294374159_354899
没有解释具体的步骤 这里记录一下
使用到的工具
链接: https://pan.baidu.com/s/1g4DvIr7TvNpY0AD1R6zJkw
package com.tencent.wcdb.database;
public final class SQLiteDatabase extends SQLiteClosable {
// 1.查找这个方法的调用
public static SQLiteDatabase openDatabase(String str, byte[] bArr, SQLiteCipherSpec sQLiteCipherSpec, CursorFactory cursorFactory, int i, DatabaseErrorHandler databaseErrorHandler) {
}
}
package com.tencent.p315mm.storagebase;
/* renamed from: com.tencent.mm.storagebase.f */
public final class C49061f implements DatabaseErrorHandler, SQLiteTrace {
//3 查找该方法的调用
/* renamed from: C */
public static C49061f m85138C(String str, String str2, boolean z) {
//2 找到如下代码
fVar.DWZ = SQLiteDatabase.openDatabase(str3, bytes, sQLiteCipherSpec, null, i, fVar);
}
}
package com.tencent.p315mm.storagebase;
/* renamed from: com.tencent.mm.storagebase.a */
public final class C49042a {
/* renamed from: a */
private boolean m85073a(String str, long j, boolean z, String str2) {
int i;
AppMethodBeat.m15964i(133321);
if (this.DWP != null) {
AssertionError assertionError = new AssertionError();
AppMethodBeat.m15965o(133321);
throw assertionError;
}
this.isNew = !C52993f.m91814fh(str);
boolean z2 = false;
Iterator<String> it = IMEISave.eym().iterator();
while (true) {
if (!it.hasNext()) {
break;
}
String next = it.next();
//5加密算法如下
this.key = C6148g.m16084F((next + j).getBytes()).substring(0, 7);
try {
//4找到如下
this.DWP = C49061f.m85138C(str, this.key, z);
}
}
提取码: y8i2 复制这段内容后打开百度网盘手机App,操作更方便哦
Android数据库加密与错误处理
2182

被折叠的 条评论
为什么被折叠?



