在开始之前,我们尝试错误登录,抓取包信息,发现post字段包含nloginpwd,其他字段未知,随后查看其他数据包,根据pubkey推断加密方式可能为RSA。接着,通过发现get包信息,我们猜测与加密参数相关字段可能为bg、challenge、patch,但需进一步验证。在进一步分析加密的JS片段时,我们注意到有几个字段形式为$("#??"),这些字段来源于页面。继续查看网页源码,我们找到了post表单中需要单独获取的两个参数,其余参数可通过HTML源码解析。对于authcode的获取,它源自于源码中的一个值,在验证操作过程中触发请求并返回authcode。查看authcode请求的数据包,发现包含疑似加密字段,暂且不深入探讨,而是聚焦于密码加密。深入分析getEntryptPwd($('#nloginpwd').val())函数,发现其核心为两行代码,即encrypt.setPublicKey(pubKey); return encrypt.encrypt(pwd)。这无疑揭示了密码加密采用RSA方法。随后,我们对JSEncrypt库进行测试,发现其能实现RSA加密。对于京东的post请求,参数可从源码中获取,但难点在于发出post请求之前的get请求,与验证和用户名相关,整体逻辑较为复杂。这部分内容将留待后续分析,特别是关于如何获取authcode参数和其他参数的来源。