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] ; isOurApk .text:000019EA MOV R10, R3 .text:000019EC STR R1, [SP,#0xE0+var_24] .text:000019EE LDR R1,