百度自动发贴,登录很顺利的模拟实现,但发贴攻关失败,能力有限,追JS过程中颇为痛苦
攻关失败,且短期内看不到希望,看不到方向,且越来越焦急,目前已知的是,用根据用户的鼠标事件以一定的规则结合其他数据,服务器以这些数据验证是否为真正的手动发贴。
不过闲暇时实现了百度贴吧的自动签到。
较难的点
1:首先是JS被压缩混淆,无语义追踪,很难记录工作过程,多项之间来回跳转,眼花头疼。
2:再一点是,百度完整的封装了一套事件逻辑,任何的事件经由这一层封装组织数据再向下传递,这过程中很绕,这个全局混淆后的标志是H。
3:因为鼠标移动事件也经由这套逻辑,所以调试捕捉很困难(而发贴验证的核心心就是这个鼠标事件),比如想追鼠标断点,事件有了,断点命中,移鼠标到调试框查看调试器的内容,调试中止,鼠标要再回浏览器位置,又直接进事件,各种头疼,我个人没有调试鼠标事件的好方法,有好方法推荐的,欢迎指教。
自已以前写过鼠标拖拽的功能,自已的代码,复杂度也不高,鼠标事件调试时已觉很不便,代码量大的话,鼠标调试越来越困难。
调试追踪过程中的工具和简单总结。
IE,firefox官方调试,firedebug,chrome调试,在部分细节上各有所长。
工作已结束数日,具体细节记不清了,以下或有不对,各工作结合应用。
例,部分断点,firefox会卡死无法跟踪,IE下却正常。
JS代码规范化(就是加换行,空格什么的),各工具有些微的区别,甚至有部分,在其他工具根本没能规范化(比如requirejs获取的JS代码)。
代码过滤查找功能,firefox会强于IE,firefox可以多文件查找,IE貌似不行,我没找到。
IE没找到网络请求分类,就是说把iMG,xhr,html,js请求分开的功能。firefox和chrome分类很清楚。
加载页面里,强制暂停,FIREFOX可以,但firedebug失败。
工作记录,百度登录成功追到,并模拟实际登录成功。
过程就不细说了,我也记不太清了,顺藤摸瓜,摸到一点就上手试,有问题继续追,当时真该作个笔记。
核心,加密匹配验证。
简单逻辑
1获取浏览器端应用百度客户端的基本信息,存入cookie(没有存cookie这项的话,是没法成功)
2获取token。
3以token获取publickey,鼠标单击,密码框,用户名框,等多个事件触发该操作,获取key,publickey。服务器端会将publickkey的值,以key为键,缓存(类似session)
4最关键的一步,从用publickey加密密码,并将结果返回,这里追到的百度用的RSA加密,纯前端的JS加密,后端找几个RSA试了几次失败,放弃。想的直接把百度的JS加密代码拿来,用到node.js里,解决。
5组织数据提交,便可提交成功。
百度自动发贴,登录很顺利的模拟实现,但发贴攻关失败,能力有限,追JS过程中颇为痛苦的更多相关文章
- Android接入百度自动更新SDK
一:前言 公司的app,上传到百度应用市场,然后说必须要接入百度的自动更新sdk才能上架,于是从百度官网上去下载jar包,下载的时候必须要带上数据统计,如果使用自动的jar包,还需要带上广告联盟,坑爹 ...
- 测试一下Word发布刚刚发现通过Word 可以直接发Blog 感觉很新奇,先看看,如果可以呢,将发通知的改了。
刚刚发现通过Word 可以直接发Blog 感觉很新奇,先看看,如果可以呢,将发通知的改了. 刚刚发现通过Word 可以直接发Blog 感觉很新奇,先看看,如果可以呢,将发通知的改了. ...
- linux自动以root登录,并自动启动用户程序的设置方法
系统自动以root登录,并自动启动用户程序的设置方法 第一步:删除root用户 vi /etc/passwd 该文件的第一行:root:X:0:0:root:/root:/bin/bash,只需要把第 ...
- SSH登录很慢问题的解决
用ssh连其他linux机器,会等待10-30秒才有提示输入密码.严重影响工作效率.登录很慢,登录上去后速度正常,这种情况主要有两种可能的原因: 1. DNS反向解析的问题 OpenSSH在用户登录的 ...
- ssh登录很慢解决方法
使用ssh客户端(如:putty)连接Linux服务器,可能会等待10-30秒才有提示输入密码.严重影响工作效率.登录很慢,登录上去后速度正常,这种情况主要有两种可能的原因: 1. DNS反向解析问题 ...
- Django 登录验证-自动重定向到登录页
Web项目有些场景需要做用户登录验证,以便访问不同页面. 方法一:login_required装饰器 适用于函数视图. from django.contrib.auth.decorators impo ...
- 利用WebBrowser控件实现百度自动搜索
(1)新建一个MFC对话框项目 (2)对话框中添加WebBrower控件,添加方法:点击菜单栏工具->选择工具箱项->在弹出的选择工具箱项对话框选择COM组件->Microsoft ...
- weblogic控制台登录很慢
分类: Oracle 原文地址:weblogic控制台登录很慢 作者:paomananshan 实际是JVM在Linux下的bug 他想调用一个随机函数 但取不到 暂时的解决办法是 1)较好的解决 ...
- 监控系统负载与CPU、内存、硬盘、登录用户数,超出警戒值则发邮件告警。
zzx@zzx:~$ cat warning.sh #!/bin/bash #监控系统负载与CPU.内存.硬盘.登录用户数,超出警戒值则发邮件告警. 前提安装mail服务nh=`uname -r ...
随机推荐
- Hash函数及其应用
本文部分内容摘自网络,参考资料链接会在文后给出,在此感谢原作者的分享. 计算理论中,没有Hash函数的说法,只有单向函数的说法.所谓的单向函数,是一个复杂的定义,大家可以去看计算理论或者密码学方面的数 ...
- stringbuffer和stringbuilder
StringBuffer是线程安全的可变字符序列.长度可变,类型任意,最终都要转换为字符串存储.是一个字符串缓冲区,是一个容器.用于临时存储数据.不过StringBuffer缓冲区内部是由数组来存储的 ...
- J2EE应用监控后台执行SQL
我们可能已经很熟悉在未使用数据库连接池的hibernate的环境下,配置p6spy和sql profiler.这在单独使用hibernate,以及项目初期是有效的.但是,在真实的开发环境下,往往是项目 ...
- rt—移植笔记2(Lwip)
首先参考f107已经有的目录结构添加Lwip这一组,添加各种.c文件及.文件. 还有drive下边的很重要的eth.c 到此,工程编译通过.(刚开始,小编是一个一个 的比对...一个一个错误排查... ...
- ---arch linux 下装wordpress
首先要先装apach和phphttps://translate.google.com/translate?hl=zh-CN&sl=de&tl=en&u=https%3A%2F% ...
- 15.6.2 Configuring the Merge Threshold for index pages[innodb]
MERGE THRESHOLD 提供了可以合并相邻索引page的功能. 默认值是50 如果一个页中数据被删除或者更新减小,导致页中有空白部分,空白部分接近合并门槛的值,则会和相邻页合并, 但是两个pa ...
- BZOJ1093 [ZJOI2007]最大半连通子图
Description 一个有向图G=(V,E)称为半连通的(Semi-Connected),如果满足:?u,v∈V,满足u→v或v→u,即对于图中任意两点u,v,存在一条u到v的有向路径或者从v到u ...
- CentOS 7 安装php开发环境
安装服务 : yum install httpd httpd-devel service httpd start 启动 安装mariadb : yum -y install mariadb* ...
- javascript 伪协议
[javascript 伪协议] 将javascript代码添加到客户端的方法是把它放置在伪协议说明符javascript:后的URL中.这个特殊的协议类型声明了URL的主体是任意的javascrip ...
- Python中字符串操作
#Python字符串操作 '''1.复制字符串''' #strcpy(sStr1,sStr2) sStr1 = 'strcpy' sStr2 = sStr1 sStr1 = 'strcpy2' pri ...