本帖最后由 love_lanchong 于 2010-09-20 08:59:20 编辑

解决方案 »

  1.   

    应该是用了MD5和Base64加密,但是同一个密码,加密的结果每次也会不同,不知是为何呢
      

  2.   

    很有可能是结合一个UUID 或者 登录时间的换算成毫秒级数字,一块和登录密码进行加密。
      

  3.   

    http://imgcache.qq.com/ptlogin/ac/v8/js/comm.js?v=1.9.4什么东东
      

  4.   

    816805611346B4129EF083B8B2E42CB1
    9FB1C4D4C3B2B335D91C4BA5802BEFD0上面是同一个密码加密后的2次不同结果,完全是不同的!有朋友可以写这处程序出来吗
      

  5.   

    function ajax_Submit() {
    var D = true;
    var E = document.forms[0];
    var B = "";
    for (var A = 0; A < E.length; A++) {
    if (E[A].name == "fp" || E[A].type == "submit") {
    continue
    }
    if (E[A].name == "ptredirect") {
    g_ptredirect = E[A].value
    }
    if (E[A].name == "low_login_enable" && (!E[A].checked)) {
    D = false;
    continue
    }
    if (E[A].name == "low_login_hour" && (!D)) {
    continue
    }
    if (E[A].name == "webqq_type" && (!E[A].checked)) {
    continue
    }
    B += E[A].name;
    B += "=";
    if (t_appid == g_appid && E[A].name == "u" && E[A].value.indexOf("@") < 0 && isNaN(E[A].value)) {
    B += "@" + E[A].value + "&";
    continue

    if (E[A].name == "p") {
    var F = "";
    F += E.verifycode.value;
    F = F.toUpperCase();
    B += md5(md5_3(E.p.value) + F);
    if (isHttps) {
    E.p.value = md5(md5_3(E.p.value) + F)
    }
    } else {
    if (E[A].name == "u1" || E[A].name == "ep") {
    B += encodeURIComponent(E[A].value)
    } else {
    B += E[A].value
    }
    }
    B += "&"
    }
    B += "fp=loginerroralert";
    if (isHttps) {
    return true
    }
    var C = document.createElement("script");
    C.src = E.action + "?" + B;
    alert(C.src);
    document.cookie = "login_param=" + encodeURIComponent(login_param) + ";domain=ui.ptlogin2." + g_domain + ";path=/";
    document.body.appendChild(C);

    return
    }核心的部分:
    if (E[A].name == "p") {
    var F = "";
    F += E.verifycode.value;
    F = F.toUpperCase();
    B += md5(md5_3(E.p.value) + F);
    if (isHttps) {
    E.p.value = md5(md5_3(E.p.value) + F)
    }
    } else {
    md5(md5_3(E.p.value) + F)
    即:
    md5(md5_3(密码) + 验证码)
    如果你能识别验证码,那么就可以实现自动登录,否则就别研究了
    记住:只有本机用QQ登录过的帐号,才不会显示验证码。
      

  6.   

    你不是已经分析出来,加密的Js网址为:
    http://imgcache.qq.com/ptlogin/ac/v8/js/comm.js?v=1.9.4这些代码就是摘自该文件。又没混淆,直接打开就看了。