您现在的位置是:首页 >

请输入vivo账户密码怎么办 C#编程让Outlook乖乖交出帐户密码(1)

火烧 2023-02-03 18:05:29 1064
C#编程让Outlook乖乖交出帐户密码 1   许多人习惯于让Outlook记住密码 收邮件时便不必每次都输入邮箱密码 一切让Outlook代劳 但时间一长 马虎的人会把自己的邮箱密码忘记 这样就无
请输入vivo账户密码怎么办 C#编程让Outlook乖乖交出帐户密码(1)

C#编程让Outlook乖乖交出帐户密码(1)  

  许多人习惯于让Outlook记住密码 收邮件时便不必每次都输入邮箱密码 一切让Outlook代劳 但时间一长 马虎的人会把自己的邮箱密码忘记 这样就无法重新设置或者登录Web界面收取邮件了 Outlook绝对不会告诉你邮箱的密码是多少 即使你找到了注册表中Outlook存储帐户和密码信息的键值 由于密码信息都是加密存储的 你还是无法提取密码 我们的对策就是针对邮箱服务中安全机制最薄弱的环节采取行动……    众所周知 POP 协议本质上是一种明文协议 也就是说 虽然Outlook本地存储的密码是加密的 但当它连接到POP 服务器准备收取邮件时 必须以明文的形式提供密码 因此 只要我们开发一个POP 服务器(不必是功能完善的POP 服务器 只要骗过Outlook即可) 让Outlook从该服务器收取邮件 Outlook就会乖乖地交出加密得严严实实的密码 实际上 这种办法不仅适用于Outlook 而且适用于所有使用POP 的邮件客户程序 如Outlook Express Foxmail等      一 构造POP 服务器    下面我们要用VS NET 和C#开发一个 伪 POP 服务器——之所以说它 伪 那是因为它只有极其有限的功能 只进行到骗出邮箱密码就停止     启动VS NET 新建一个C#项目 项目的模板选择 控制台应用程序 将项目命名为PServer 点击 确定 创建项目 如图 所示         图 新建C#项目     VS NET自动创建PServer名称空间 Class 类和Main函数骨架 在Class cs文件的顶端using System语句之后加入下列三个语句     using System Net;  using System Net Sockets;  using System Text;    接下来的任务就是修改Main函数 使它作为一个POP 服务器监听来自Outlook的请求 当Outlook尝试连接这个PServer服务器时 根据POP 协议的要求 我们确认一下Outlook用户提供的帐户名并要求提供密码 Outlook提供密码后 我们在控制台上输出密码 这样就算完成了任务!    在Main函数中 我们的第一个任务是启动一个POP 服务器 为此 我们要用System Net Sockets名称空间定义的类创建一个ipEndPoint 让一个TCP服务器监听该端点 接收来自客户端的请求     // 在 (本地机器)上创建一个TCP服务器 监听    // 端口的请求( 是POP 服务器的默认端口)    IPEndPoint ipEndPoint = new IPEndPoint(IPAddress Parse( ) );  TcpListener tcpServer = new TcpListener(ipEndPoint);  tcpServer Start();    // 等待来自POP 客户程序(如Outlook)的连接请求    TcpClient tcpClient = tcpServer AcceptTcpClient();    当一个POP 客户程序连接该服务器时 服务器必须按照POP 协议的要求对客户程序作出应答 根据POP 协议RFC 规范的定义 服务器首先要做的是返回一个欢迎信息     // 向客户程序返回欢迎信息    NeorkStream ns = tcpClient GetStream();  byte[] outbytes = Encoding ASCII GetBytes( +OK Wele + Environment NewLine);  ns Write(outbytes outbytes Length);    客户程序接收到欢迎信息后 同样也会按照POP 协议的要求发送帐户名称 我们把这个帐户名称记录下来以便以后使用 代码如下     // 接收和记录邮箱帐户名称    byte[] userBytes = new byte[ ];  ns Read(userBytes userBytes Length);    收到帐户名称信息后 我们要告诉Outlook说这个名称没有问题 客户程序一收到这个信息就会发送密码 然后我们再把密码也记录下来 实现代码是     // 告诉客户程序帐户名称正确    outbytes = Encoding ASCII GetBytes( +OK + Environment NewLine);  ns Write(outbytes outbytes Length);    // 接收和记录帐户密码    byte[] pwdBytes = new byte[ ];  ns Read(pwdBytes pwdBytes Length);    接下来要做的就是获取字节数组的内容 将它们转换成字符串 然后输出到控制台     // 在控制台上显示出帐户名称 密码    Console WriteLine( 帐户名称 + Encoding ASCII GetString(userBytes));  Console WriteLine( 帐户密码 + Encoding ASCII GetString(pwdBytes));    既然已经获得了密码 服务器的任务已经完成了 现在可以关闭它 强行关闭服务器会导致客户程序显示错误信息 不过这里我们并不在乎 关闭服务器的代码是     // 关闭服务器    ns Close();  tcpClient Close();  tcpServer Stop();    将上面的所有代码依次输入Main函数 编译一下就得到了一个PServer exe执行文件 它就是我们的伪POP 服务器 PServer exe体积很小 发行版只有 KB lishixinzhi/Article/program/net/201311/12002  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码