宝峰科技

 找回密码
 注册

QQ登录

只需一步,快速开始

智能终端设备维修查询系统注册会员邮箱认证须知!
查看: 9230|回复: 29

[页游辅助图文教程] C#网页辅助制作 第三节 构造出登陆密码密文

  [复制链接]
  • TA的每日心情
    开心
    2023-11-30 08:27
  • 签到天数: 120 天

    [LV.7]常住居民III

    admin 发表于 2009-12-18 13:49:38 | 显示全部楼层 |阅读模式

    欢迎您注册加入!这里有您将更精采!

    您需要 登录 才可以下载或查看,没有账号?注册

    x
    在上一节里我们知道了QQ密码的加密方法了,是用三次MD5加密再结合验证码进行一次MD5加密而得的。我开始做时使用的是标准的MD5加密函数,这样子加密出来的密文和QQ网页上加密出来的不同,我想应该QQ里可能用的不是标准的MD5加密吧。于是乎问题出来了,怎么办呢?仿造他的加密函数自己写一个出来??这个方法我试了一个上午搞得我头都大了,所以放弃了。上网查了一下,原来C#里也可以调用到外部的js代码的哦。呵呵, 这下好了。只要把他的comm.js 调用进来不是就简单得多了嘛。
    下面看我怎么调用的吧。
    首先要拖一个webBrowser出来,我们要通过这个东西调用js里的函数,设置webBrowser的属性为隐藏就好了。这样不会挡着我们。
    命名空间引用:

    1. using System;
    2. using System.Collections.Generic;
    3. using System.ComponentModel;
    4. using System.Data;
    5. using System.Drawing;
    6. using System.Text;
    7. using System.Windows.Forms;
    8. using System.Net;
    9. using System.IO;
    10. using System.Security.Permissions;
    11. using System.Text.RegularExpressions;
    12. 初始化方法:
    13.            System.IO.FileInfo file = new System.IO.FileInfo(@"E:\vg\vg\vg\js.htm");//注意文件的位置位置不同自己改啊,js.htm网页文件里调用了comm.js脚本文件
    14.             // WebBrowser控件显示的网页路径
    15.             webBrowser1.Url = new Uri(file.FullName);
    16.             // 将当前类设置为可由脚本访问
    17.             webBrowser1.ObjectForScripting = this;
    18. 调用方法:
    19.         /// <summary>
    20.         /// //得到加密后的密码密文
    21.         /// </summary>
    22.         /// <param name="pass">密码</param>
    23.         /// <param name="aVerifyCode">验证码</param>
    24.         /// <returns></returns>
    25.         private string Preprocess(string pass, string aVerifyCode)
    26.         {
    27.             string strReturn = "";
    28.             object[] objects = new object[1];
    29.             object[] o = new object[] { pass };
    30.             object dd = webBrowser1.Document.InvokeScript("md5_3", o);//调用comm.js里的md5_3这个函数,o是传入参数
    31.             object[] b = new object[] { dd.ToString() + aVerifyCode.ToUpper() };
    32.             strReturn = (webBrowser1.Document.InvokeScript("md5", b)).ToString(););//调用comm.js里的md5这个函数,b是传入的参数
    33.             return strReturn;
    34.         }
    复制代码

    1. ///////////////////////////js.html文件的内容///////////////////////////////////
    2. <html>
    3. <head>

    4. <SCRIPT language=javascript src="comm.js"> <!--注意你的js文件的位置哦-->
    5. </head>
    6. <body>d
    7. </body>
    8. </html>
    9. ////////////////////////////////////////////////////////////////////////////////////
    复制代码
    另外要提醒你的是:一定要在定义类之前加上这么一句: [System.Runtime.InteropServices.ComVisibleAttribute(true)]否则可能调用会失败。
    下面是我的全部代码:

    1. using System;
    2. using System.Collections.Generic;
    3. using System.ComponentModel;
    4. using System.Data;
    5. using System.Drawing;
    6. using System.Text;
    7. using System.Windows.Forms;
    8. using System.Net;
    9. using System.IO;
    10. using System.Security.Permissions;
    11. using System.Text.RegularExpressions;
    12. namespace WebSiteTest
    13. {
    14.     [System.Runtime.InteropServices.ComVisibleAttribute(true)]
    15.     public partial class Form1 : Form
    16.     {
    17.         /// <summary>
    18.         /// 存储操作中的Cookie
    19.         /// </summary>
    20.         private CookieContainer cc = new CookieContainer();
    21.         public Form1()
    22.         {
    23.             InitializeComponent();
    24.             System.IO.FileInfo file = new System.IO.FileInfo(@"E:\vg\vg\vg\js.htm");//注意文件的位置啊
    25.             // WebBrowser控件显示的网页路径
    26.             webBrowser1.Url = new Uri(file.FullName);
    27.             // 将当前类设置为可由脚本访问
    28.             webBrowser1.ObjectForScripting = this;
    29.             // 将当前类设置为可由脚本访问
    30.             webBrowser1.ObjectForScripting = this;
    31.         }
    32.         /// <summary>
    33.         /// //得到加密后的密码和验证码
    34.         /// </summary>
    35.         /// <param name="pass"></param>
    36.         /// <param name="aVerifyCode"></param>
    37.         /// <returns></returns>
    38.         private string Preprocess(string pass, string aVerifyCode)
    39.         {
    40.             string strReturn = "";
    41.             object[] objects = new object[1];
    42.             object[] o = new object[] { pass };
    43.             object dd = webBrowser1.Document.InvokeScript("md5_3", o);
    44.             object[] b = new object[] { dd.ToString() + aVerifyCode.ToUpper() };
    45.             strReturn = (webBrowser1.Document.InvokeScript("md5", b)).ToString();
    46.             return strReturn;
    47.         }
    48.     }
    49. }
    复制代码

    该用户从未签到

    abs123 发表于 2009-12-24 21:57:49 | 显示全部楼层
    QQ密码是MD5跟base64双重加密吧

    该用户从未签到

    failure 发表于 2010-3-21 19:43:51 | 显示全部楼层
    gooooooooooood

    该用户从未签到

    ftfaisq 发表于 2010-3-26 17:07:54 | 显示全部楼层
    学习一下。。

    该用户从未签到

    kinglife 发表于 2010-4-6 18:53:48 | 显示全部楼层
    gooooooooood

    该用户从未签到

    yang5209050 发表于 2010-4-14 21:32:40 | 显示全部楼层
    谢谢LZ

    该用户从未签到

    yang5209050 发表于 2010-4-18 17:53:34 | 显示全部楼层
    还有几节呢,怎么不出呀

    该用户从未签到

    hotool 发表于 2010-4-30 23:09:17 | 显示全部楼层
    谢谢LZ ····

    该用户从未签到

    demo235 发表于 2010-5-2 15:22:50 | 显示全部楼层
    头两篇都看了,再看看这篇

    该用户从未签到

    huo2010shu 发表于 2010-5-24 13:33:17 | 显示全部楼层
    回复看看.太短了还不行.

    该用户从未签到

    501310440 发表于 2010-5-31 22:43:25 | 显示全部楼层
    学习了啊,呵呵

    该用户从未签到

    bluefrankey 发表于 2010-6-2 00:58:35 | 显示全部楼层
    學習一下怎麼做外掛

    该用户从未签到

    电脑白菜 发表于 2010-6-2 15:50:38 | 显示全部楼层
    看看。学习楼主,后面的文章什么时候出?

    该用户从未签到

    chinaxhb 发表于 2010-6-4 09:40:46 | 显示全部楼层
    来学习啦,还有后面的教程吗?

    该用户从未签到

    mqcoo 发表于 2010-8-14 11:36:39 | 显示全部楼层
    继续顶起。。。。
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    免责声明

    本站中所有被研究的素材与信息全部来源于互联网,版权争议与本站无关。本站所发布的任何软件编程开发或软件的逆向分析文章、逆向分析视频、补丁、注册机和注册信息,仅限用于学习和研究软件安全的目的。全体用户必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。学习编程开发技术或逆向分析技术是为了更好的完善软件可能存在的不安全因素,提升软件安全意识。所以您如果喜欢某程序,请购买注册正版软件,获得正版优质服务!不得将上述内容私自传播、销售或者用于商业用途!否则,一切后果请用户自负!

    QQ|Archiver|手机版|小黑屋|联系我们|宝峰科技 ( 滇公网安备 53050202000040号 | 滇ICP备09007156号-2 )

    Copyright © 2001-2023 Discuz! Team. GMT+8, 2024-3-29 16:11 , File On Powered by Discuz! X3.49

    快速回复 返回顶部 返回列表