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

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

较难的点

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. golang在linux下的开发环境部署[未完]

    uname -a Linux symons_laptop 4.8.2-1-ARCH #1 SMP PREEMPT Mon Oct 17 08:11:46 CEST 2016 x86_64 GNU/Li ...

  2. webApi 导入Excel

    /// <summary> /// 导入 /// </summary> /// <param name="organizationId">< ...

  3. This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms while caching 问题及解决

    一.背景    情节1:做别的测试安装下载了软件,妈蛋结果下了百度各种捆绑软件,之后一一卸载,清洁.    情节2:做完上述动作重启电脑后,有线连接连不上,尴尬,然后下载驱动,升级之后ok了. 二.问 ...

  4. scrum.4

    1.准备看板. 形式参考图4. 2.任务认领,并把认领人标注在看板上的任务标签上. 先由个人主动领任务,PM根据具体情况进行任务的平衡. 然后每个人都着手实现自己的任务. 3.为了团队合作愉快进展顺利 ...

  5. jQuery iframe之间相互调用

    ,子iframe内调用父类函数方法: window.parent.func(); ,子Iframe中获取父界面的元素: $("#xx", window.parent.documen ...

  6. SQL Server 常用命令使用方法

    (1) 数据记录筛选: sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]" sql="select * f ...

  7. 转:python list排序的两种方法及实例讲解

    对List进行排序,Python提供了两个方法 方法1.用List的内建函数list.sort进行排序 list.sort(func=None, key=None, reverse=False) Py ...

  8. No permission to write APN settings: Neither user *** nor current process has android.permission.WRITE_APN_SETTINGS.

    在ICS40以前的版本中,如果程序需要设置APN,只需要在AndroidManifest文件中声明这个权限即可.在40的机器上运行则会抛出以下异常:java.lang.SecurityExceptio ...

  9. post请求接口

    /// <summary> /// post 调用接口 /// </summary> /// <param name="xmlRequest"> ...

  10. AJAX原生JS代码

    var http_request = false;function send_request(method,url,content,responseType,callback){ http_reque ...