2009年4月30日星期四

[原创]Maya 2009

using System;
using System.Collections.Generic;
using System.Text;
using System.Management;
using System.IO;

namespace MayaReg
{
    class Program
    {
        static void Main(string[] args)
        {
            ManagementObjectSearcher sysinfo = new ManagementObjectSearcher(new SelectQuery("Win32_NetworkAdapterConfiguration"));
            foreach (ManagementObject mo in sysinfo.Get())
            {
                if ((bool)mo["IPEnabled"])
                {
                    String hardInfo = mo.Properties["MacAddress"].Value.ToString().ToLower();
                    hardInfo = hardInfo.Replace(":", "");
                    //Console.Write(hardInfo);

                    String s ="FEATURE MayaUnltd sgiawd 2009.000 permanent uncounted 0 \\\n HOSTID=111111111111";
                    s=s.Replace("111111111111", hardInfo);
                    using (StreamWriter sw = new StreamWriter("C:\\FLEXLM\\aw.dat"))
                    {
                        sw.Write(s);
                    }

                    System.Diagnostics.ProcessStartInfo Info = new System.Diagnostics.ProcessStartInfo();
                    Info.FileName = "awkeygen.exe";
                    Info.Arguments = "aw.dat";
                    Info.WorkingDirectory = "C:\\FLEXLM";
                    System.Diagnostics.Process Proc;
                    try
                    {
                        Proc = System.Diagnostics.Process.Start(Info);
                    }
                    catch (System.ComponentModel.Win32Exception e)
                    {
                        Console.WriteLine("系统找不到指定的程序文件。\r{0}", e);
                        return;
                    }
                }
            }
            Console.Write("Maya破解完成,按Enter键退出");
            Console.Read();
        }
    }
}

2009年4月17日星期五

使用VB.NET编写了一个定时登录Dr.COM Hotspot上网验证系统的Windows服务

使用Visual Studio 2005编写,项目类型是Windows服务。
从组件菜单中选择Timer组件,注意默认的Timer组件是System.Windows.Forms.Timer,并不能在服务中使用,要使用System.Timer.Timer组件,可以在工具箱的组件面板上点击右键,出现下面的菜单,选择红色框子圈出的项,从对话框中将需要的组件添加到面板


将正确的Timer组件拖到类的设计面板,设置合适的interval,并将Timer设置为Enable。双击Timer组件,添加代码如下(加粗部分)
Imports System.Text
Imports System.Net
Imports System.Timers
Public Class AutoLogonService
    Protected Overrides Sub OnStart(ByVal args() As String)
        ' 请在此处添加代码以启动您的服务。此方法应完成设置工作,
        ' 以使您的服务开始工作。
    End Sub
    Protected Overrides Sub OnStop()
        ' 在此处添加代码以执行任何必要的拆解操作,从而停止您的服务。
    End Sub
    Private Sub Timer1_Elapsed(ByVal sender As System.Object, ByVal e As System.Timers.ElapsedEventArgs) Handles Timer1.Elapsed
        Dim MyClient As New WebClient
        Dim MyURL As String
        Dim data As String
        Dim postData As Byte()

        MyURL = "http://10.29.0.250/F.htm"
        data = "DDDDD=你的用户名&upass=你的密码&0MKKey=登录 Login"
        postData = Encoding.ASCII.GetBytes(data)
        MyClient.UploadData(MyURL, "POST", postData)
    End Sub
End Class
右击设计视图选择“添加安装程序”,为该服务添加安装程序,并设置项目、安装程序的名称和相关属性。最后生成Service。
Service的安装
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil c:\Dr.COM.LogonService.exe
Service的卸载
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil c:\Dr.COM.LogonService.exe /u
将服务安装后,可以在管理工具|服务中去启动他,这样,即使机器重启或者长时间没数据流量,也能保证不断网,使得某些需要定时联网的程序正常工作
参考资料
  1. http://support.microsoft.com/kb/842793/zh-cn
  2. http://support.microsoft.com/kb/820639/zh-cn
  3. http://lonely7345.javaeye.com/blog/249015

VB.NET实现Dr.COM自动登录

Imports System.Text
Imports System.Net

Module Module1

    Sub Main()
        Dim MyClient As New WebClient
        Dim MyURL, srcString As String
        Dim data As String
        Dim postData As Byte()
        Dim responseData As Byte()

        MyURL = "http://10.29.0.250/F.htm"
        data = "DDDDD=你的用户名&upass=你的密码&0MKKey=登录 Login"

        postData = Encoding.ASCII.GetBytes(data)
        responseData = MyClient.UploadData(MyURL, "POST", postData)
        srcString = Encoding.UTF8.GetString(responseData)

        'Console.WriteLine(srcString)
        'Console.ReadKey()

    End Sub

End Module

2009年4月13日星期一

无题

127.0.0.1 activate.adobe.com
127.0.0.1 practivate.adobe.com
127.0.0.1 ereg.adobe.com
127.0.0.1 activate.wip3.adobe.com
127.0.0.1 wip3.adobe.com
127.0.0.1 3dns-3.adobe.com
127.0.0.1 3dns-2.adobe.com
127.0.0.1 adobe-dns.adobe.com
127.0.0.1 adobe-dns-2.adobe.com
127.0.0.1 adobe-dns-3.adobe.com
127.0.0.1 ereg.wip3.adobe.com
127.0.0.1 activate-sea.adobe.com
127.0.0.1 wwis-dubc1-vip60.adobe.com
127.0.0.1 activate-sjc0.adobe.com

使用curl实现Dr.COM Hotspot上网验证系统的登录

方便在Linux环境下使用,呵呵

curl -d "DDDDD=你的账号&upass=你的密码&0MKKey=%u767B%u5F55%20Login"  http://10.29.0.250/F.htm

[原创]通过Java程序实现Dr.COM Hotspot的上网验证

package drcom;

import java.io.IOException;
import java.io.InputStream;

import org.apache.commons.httpclient.DefaultHttpMethodRetryHandler;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.HttpMethod;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.cookie.CookiePolicy;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.params.HttpMethodParams;

public class Login {

    String userAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; InfoPath.1; .NET CLR 2.0.50727; MAXTHON 2.0)";
    HttpClient client = new HttpClient();
    static final String TARGET_SITE = "10.29.0.250";
    static final int TARGET_PORT = 80;
    public static void main(String[] args) throws HttpException, IOException {
        Login l=new Login();
        PostMethod method=new PostMethod("http://10.29.0.250/F.htm");
        l.initMethod(method);
        l.fillLogonData(method);
        method.setRequestHeader("Referer","http://10.29.0.250/");
        l.client.executeMethod(method);
        String s=l.getResponse(method);
        System.out.println(s);
    }
    public Login() {
        client.getHostConfiguration().setHost(TARGET_SITE, TARGET_PORT);
    }

    public void initMethod(HttpMethod method) {
        method.setRequestHeader("User-Agent", userAgent);
        method.setRequestHeader("Accept-Encoding", "gzip, deflate");
        method.setRequestHeader("Accept-Language", "zh-cn");
        method.setRequestHeader("Accept", "*/*");
        method.setRequestHeader("Connection", "Keep-Alive");
        method.getParams().setCookiePolicy(CookiePolicy.RFC_2109);
        method.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
                new DefaultHttpMethodRetryHandler());
    }
    public String getResponse(HttpMethod method) throws IOException {
        InputStream is = method.getResponseBodyAsStream();
        StringBuffer buf = new StringBuffer();
        byte b[] = new byte[16384];
        int len = 0;
        while ((len = is.read(b)) > 0) {
            buf.append(new String(b, 0, len, "gb2312"));
        }
        String response = buf.toString();
        return response;
    }
    public void fillLogonData(PostMethod method) {
        NameValuePair[] data = new NameValuePair[3];
        data[0] = new NameValuePair("DDDDD", "username");
        data[1] = new NameValuePair("upass", "password");
        data[2]=new NameValuePair("0MKKey","登录 Login");
        method.addParameters(data);
    }

}

2009年4月8日星期三

XP远程桌面登录问题的解决方案

新安装的系统,Windows XP,远程桌面有问题,表现为本地桌面或者远程桌面只能有一个用户登录,如果一方登录了,另一方同时登录,则会造成黑屏或者主机无响应。

解决方案:

将下面的内容保存为reg文件并导入到注册表,重新启动系统即可。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]
"SessionImageSize"=dword:00000020

2009年4月2日星期四

Failed shutdown of Apache Portable Runtime

新安装的机器,在MyEclipse中停止Tomcat服务器时出现如下信息
[org.apache.catalina.core.AprLifecycleListener]-[INFO] Failed shutdown of Apache Portable Runtime

解决方法:

(1)安装Tomcat时预先安装native1.dll 或者

(2)去 http://tomcat.heanet.ie/native/ 下载编译好的 tcnative-1.dll 文件,放到Tomcat的bin目录下