我的宽带我做主,抛弃《宽带我世界》

原创作品,转载请注明出自xelz's blog

博客地址:http://mingcn.cnblogs.com/

本文地址:http://mingcn.cnblogs.com/archive/2010/11/12/cncdec.html

 

河南用联通线的网友们对这个东西肯定不陌生,每次装宽带都会被安装人员强行装上这么个破软件,看完这篇文章你就可以完全的抛弃它了

 

判死刑要有罪状,我是不会冤枉好人的^_^ 悉数如下:

占用内存(15-40M不等)

捆绑插件(安装完毕系统软件列表中多出5个,分别是 宽带我世界、灵信ADSL拨号客户端、网通安全卫士、网通ADSL拨号专用版、中国网通CNCMAX客户端,安装时选择在D盘安装,除了CNCMAX在D盘放了410KB了两个文件外其余都在C盘,并且修改注册表,最小化安装只能省掉安全卫士,貌似最近出的兼容WIN7的版本把这些插件去掉了,因为win7用不了,联通的技术员可真省事啊 - -!)

限制共享(当对软件创建的"rwpppoe"连接设置Internet共享后,上线不到3分钟就会掉线,一直在监视着,当然占内存)

DNS劫持(用户无法自行更改DNS,同上,具有监视功能的客户端会把它改回来,而用它的DNS,你浏览的网页就会被嵌入该死的广告)

弹窗广告(恩,玩全屏游戏的估计最恶心这个了...)

 

宽带我世界采用的是PPPoE拨号,2000及以后的系统中都集成的有PPP协议,直接利用系统自带的拨号程序就可以了。但是联通给我们的账号是加密的,不能直接用来拨号。所谓的客户端最有用的功能就是解密,市面上销售的河南联通专用路由也就是内置了解密程序。

 

如果你已经装过宽带我世界并成功联网,右键点“网上邻居”,属性,打开“网络连接”,右键点“rwpppoe”选“属性”,在“选项”一栏将“提示名称、密码和证书等”打上√,确定退出。

 

然后双击打开,就可以看到真实的账号了(形如2:XXXXXX)。

 

还有一种方法是打开IE的属性对话框,在“连接”选项卡中,选中rwpppoe,点右边的设置,也可以看到真实的账号。

 

如果你还没装宽带我世界也不打算装,那么可以点此下载我写的一个小工具,直接将账号解密。

 

拿到了真实的账号,下面要做的就是用它创建一个新的拨号连接,密码还是原来的密码。不会的话用百歌谷度一下,创建之前先把宽带我世界卸载掉吧!

 

解密的算法很简单(C):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
int decode(char* strSrcAcc, char* strResAcc)
{
    char DicA[] = {
        '9', '0', '1', '2', '3', '4', '5', '6', '7', '8', 'a', 'b', 'c', 'd', 'e', 'A',
        'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'f', 'g', 'h',
        'i', 'j', 'k', 'l', 'm', 'n', 'U', 'V', 'W', 'X', 'Y', 'Z', 'x', 'y', 'z', 'u',
        'v', 'w', 'o', 'p', 'q', 'r', 's', 't', 'O', 'P', 'Q', 'R', 'S', 'T'
    };
    int DicB[] = {
        0x11, 0x34, 0xc9, 0x23, 0x75, 0x18, 0xd7, 0xe2, 0x12, 0x35, 0x29, 0x2b, 0xec, 0xb6, 0x23, 0x19
    };
    int length = strlen(strSrcAcc);
    char chrResAcc[20] = {'\0'};
    int num2;
    int num4 = 0x25;
    int num3=0;
    int dic;
    int index;
    for (int i = 0; i < length; i++)
    {
        for (int j = 0; j < 62; j++)
        {
            if (strSrcAcc[i] == DicA[j])
            {
                dic = DicB[i % 16];
                num2 = num4 * 3;
                index = (((dic ^ num2) ^ num3) + j) % 62;
                chrResAcc[i] = DicA[index];
                num2 = index;
                num4 = num4 ^ (num2 + 0x24d9);
            }
        }
        if(chrResAcc[i]==0)
            chrResAcc[i]=strSrcAcc[i];
        num3=num3+5;
    }
    strcat(strResAcc, "2:");
    strcat(strResAcc, chrResAcc);
    return 1;
}
posted @   xelz  阅读(4710)  评论(17编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示