盐城网站建设价格,河北建设工程信息网官网首页,金环建设集团网站,室内设计公司logoAPP版本
唯品会 7.45Java层抓包分析
打开抓包工具 charles进行分析#xff0c;可以发现对于API采集需要突破当前这个参数#xff0c;否则不返回信息
jadx静态分析
jadx静态分析#xff0c;打开app搜索关键词api_sign#xff0c;可以发现有参数位置 跟进去上边str赋值方…APP版本
唯品会 7.45Java层抓包分析
打开抓包工具 charles进行分析可以发现对于API采集需要突破当前这个参数否则不返回信息
jadx静态分析
jadx静态分析打开app搜索关键词api_sign可以发现有参数位置 跟进去上边str赋值方法m52297b,看看参数是怎么来的 总结该方法里面传入上下文、MAP类型参数、2个字符串参数返回值m52298a 对参数进行了系列处理继续跟进这个方法 总结这里面可以看到调用了 apiSign方法对参数进行处理继续跟进到方法里面 总结该方法对传入的参数继续调用getMapParamsSign进行处理、可以跟进这个方法查看 总结该方法对MAp类型数据进行迭代处理然后还是调用getSignHash方法处理数据 总结该方法调用m8334gs 总结到了这个位置、可以看到参数已经到达边界、有可能这里就是数据返回的位置可以使用frida hook一下结果与抓包对比一致。 从中可以看到clazz就是com.vip.vcsp.KeyInfo类跟进去这个类继续查找 总结这里调用gsNav方法、该方法是加载了一个jni文件也被称为app里面的so文件由C语言编写的算法被Java调用。
从上面可以看到so文件名称是private static final String LibName keyinfo;一般so文件都会打包在apk文件可以从里面查找文件用ida汇编工具进行查询。
IDA汇编分析
打开工具拖进去so文件即可可以看到这个页面工具的使用可以看之前的教程 我们先查询导出函数看下是否有Java层代码说明函数是静态注册的 根进去方法、然后按F5转伪C代码从这里面分析业务逻辑 根进去前面的方法、可以看到这个界面里面对入参进行一系列处理 总结可以看到一系列对map的操作但是不急着对这部分分析接着往下看 总结可以看到一个j_getByteHash方法通过函数名推断它极大可能就是执行摘要算法的地方。 通过名称推断是sha1算法。使用frida hook一下可以发现参数和加密结果都能对上那就无疑了后续就可以算法还原了。 贴一张拿数据的结果 到此整个代码分析就算完毕了。
这里给大家准备爬虫脚本有需要的关注我或者加V-》tl210329 进行领取。