0x0 概述:
58 招财猫登陆密码算法经过:
libcom_wuba_uc_rsa.so 中 Java_com_wuba_uc_RsaCryptService_encrypt 函数加密,下面
简称 encrypt 函数。
Encrypt 先 调 用 JByte2CChar 把 Java byte 数 组 转 换 为 char * , 然 后 进 一 步 调 用
encrypt_default 进行加密。
encrypt_default 先解密 rsa 公钥文件,然后调用 encrypt_d,最后把结果进行 base64 变
形加密。
encrypt_d 先进行 rsa 加密,然后调用 ch_crypt 对加密结果进行变换。
难点是 ch_crypt 和变形 base64
0x1:
Encrypt 函数首先对签名结果检验(isOurApk 值来源于签名验证结果)
.text:000019DE LDR R5, =(isOurApk_ptr - 0x19EA)
.text:000019E0 SUB SP, SP, #0xC0
.text:000019E2 LDR R1, [R3]
.text:000019E4 MOV R4, R0
.text:000019E6 ADD R5, PC ; isOurApk_ptr
.text:000019E8 LDR R5, [R5] ; isOurAp