1. jadx-gui 反编译apk,搜索关键词 "authorization"
2. 进入函数,signstr 的值由上一个函数生成的,继续跟进去
3. 定位到加密的位置
4. 分析加密算法
4.1. 分析httpAppSecret 的值
objaction hook com.bk.base.router.ModuleRouterApi$MainRouterApi.getHttpAppSecret 这个方法,得到httpAppSecret 的值是"d5e343d453aecca8b14b2dc687c381ca",多次调试发现是个固定值
4.2. 分析HttpAppId 的值
hook com.bk.base.router.ModuleRouterApi$MainRouterApi.getHttpAppId 得到 HttpAppId的值为"20180111_android", 多次调试发现是个固定值
4.3.分析 sha1ToString的值
hook com.bk.base.util.bk.DeviceUtil.SHA1ToString方法 得知入参是上面的httpAppSecret 拼接接口参数进行sha1 加密的。
4.4. 最后 encodeToString 是 HttpAppId +":" + sha1ToString1 进行base64 加密得到