微信7.0.12版本 反编译 解析

Android数据库加密与错误处理

 

参考 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,操作更方便哦

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值