攻关失败,且短期内看不到希望,看不到方向,且越来越焦急,目前已知的是,用根据用户的鼠标事件以一定的规则结合其他数据,服务器以这些数据验证是否为真正的手动发贴。

不过闲暇时实现了百度贴吧的自动签到。

较难的点

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过程中颇为痛苦的更多相关文章

  1. Android接入百度自动更新SDK

    一:前言 公司的app,上传到百度应用市场,然后说必须要接入百度的自动更新sdk才能上架,于是从百度官网上去下载jar包,下载的时候必须要带上数据统计,如果使用自动的jar包,还需要带上广告联盟,坑爹 ...

  2. 测试一下Word发布刚刚发现通过Word 可以直接发Blog 感觉很新奇,先看看,如果可以呢,将发通知的改了。

      刚刚发现通过Word 可以直接发Blog 感觉很新奇,先看看,如果可以呢,将发通知的改了.   刚刚发现通过Word 可以直接发Blog 感觉很新奇,先看看,如果可以呢,将发通知的改了.     ...

  3. linux自动以root登录,并自动启动用户程序的设置方法

    系统自动以root登录,并自动启动用户程序的设置方法 第一步:删除root用户 vi /etc/passwd 该文件的第一行:root:X:0:0:root:/root:/bin/bash,只需要把第 ...

  4. SSH登录很慢问题的解决

    用ssh连其他linux机器,会等待10-30秒才有提示输入密码.严重影响工作效率.登录很慢,登录上去后速度正常,这种情况主要有两种可能的原因: 1. DNS反向解析的问题 OpenSSH在用户登录的 ...

  5. ssh登录很慢解决方法

    使用ssh客户端(如:putty)连接Linux服务器,可能会等待10-30秒才有提示输入密码.严重影响工作效率.登录很慢,登录上去后速度正常,这种情况主要有两种可能的原因: 1. DNS反向解析问题 ...

  6. Django 登录验证-自动重定向到登录页

    Web项目有些场景需要做用户登录验证,以便访问不同页面. 方法一:login_required装饰器 适用于函数视图. from django.contrib.auth.decorators impo ...

  7. 利用WebBrowser控件实现百度自动搜索

    (1)新建一个MFC对话框项目 (2)对话框中添加WebBrower控件,添加方法:点击菜单栏工具->选择工具箱项->在弹出的选择工具箱项对话框选择COM组件->Microsoft  ...

  8. weblogic控制台登录很慢

      分类: Oracle 原文地址:weblogic控制台登录很慢 作者:paomananshan 实际是JVM在Linux下的bug 他想调用一个随机函数 但取不到 暂时的解决办法是 1)较好的解决 ...

  9. 监控系统负载与CPU、内存、硬盘、登录用户数,超出警戒值则发邮件告警。

    zzx@zzx:~$ cat warning.sh #!/bin/bash #监控系统负载与CPU.内存.硬盘.登录用户数,超出警戒值则发邮件告警.    前提安装mail服务nh=`uname -r ...

随机推荐

  1. Hash函数及其应用

    本文部分内容摘自网络,参考资料链接会在文后给出,在此感谢原作者的分享. 计算理论中,没有Hash函数的说法,只有单向函数的说法.所谓的单向函数,是一个复杂的定义,大家可以去看计算理论或者密码学方面的数 ...

  2. stringbuffer和stringbuilder

    StringBuffer是线程安全的可变字符序列.长度可变,类型任意,最终都要转换为字符串存储.是一个字符串缓冲区,是一个容器.用于临时存储数据.不过StringBuffer缓冲区内部是由数组来存储的 ...

  3. J2EE应用监控后台执行SQL

    我们可能已经很熟悉在未使用数据库连接池的hibernate的环境下,配置p6spy和sql profiler.这在单独使用hibernate,以及项目初期是有效的.但是,在真实的开发环境下,往往是项目 ...

  4. rt—移植笔记2(Lwip)

    首先参考f107已经有的目录结构添加Lwip这一组,添加各种.c文件及.文件. 还有drive下边的很重要的eth.c 到此,工程编译通过.(刚开始,小编是一个一个 的比对...一个一个错误排查... ...

  5. ---arch linux 下装wordpress

    首先要先装apach和phphttps://translate.google.com/translate?hl=zh-CN&sl=de&tl=en&u=https%3A%2F% ...

  6. 15.6.2 Configuring the Merge Threshold for index pages[innodb]

    MERGE THRESHOLD 提供了可以合并相邻索引page的功能. 默认值是50 如果一个页中数据被删除或者更新减小,导致页中有空白部分,空白部分接近合并门槛的值,则会和相邻页合并, 但是两个pa ...

  7. BZOJ1093 [ZJOI2007]最大半连通子图

    Description 一个有向图G=(V,E)称为半连通的(Semi-Connected),如果满足:?u,v∈V,满足u→v或v→u,即对于图中任意两点u,v,存在一条u到v的有向路径或者从v到u ...

  8. CentOS 7 安装php开发环境

    安装服务 : yum install httpd httpd-devel  service httpd start 启动     安装mariadb : yum -y install mariadb* ...

  9. javascript 伪协议

    [javascript 伪协议] 将javascript代码添加到客户端的方法是把它放置在伪协议说明符javascript:后的URL中.这个特殊的协议类型声明了URL的主体是任意的javascrip ...

  10. Python中字符串操作

    #Python字符串操作 '''1.复制字符串''' #strcpy(sStr1,sStr2) sStr1 = 'strcpy' sStr2 = sStr1 sStr1 = 'strcpy2' pri ...