(转帖) 教你修改星空极速

 

本篇文章将会讲下修改星空极速过 XLPPoEPC驱动。当然,看懂这些文章需要一定的基础,感兴趣的可以多研究下。另,本人也是菜鸟,如果文章有错误的地方希望大家指正。
申明:本教程只做技术讨论,请勿替代原版使用。

了解星空极速:

星空极速是电信推广的拨号客户端软件。

电信推出它的目的是什么呢?

一是防共享,让所以想上网的人都买单,为了赚钱

二是占领桌面,什么意思呢,就是让大家必须开这个软件,好推广告。当然后来它也推广视聆通软件了。

简单说下星空极速防共享的原理

前面也说过就是XLPPoEPC驱动,官方是说用了什么radius技术,屏蔽共享数据流。说白了,就是它说我们不能共享上网。

如何让用户必须使用星空极速呢?

变换用户名,也有的地区是变换密码,真实用户名在事件查器里就可以看到,密码需要用嗅探工具得到。变换了之后就不能用系统自带的拨号了,因为变换规则里都加入了不可见字符,如回车之类的。

星空极速的版本历史

星空的版本大概是V7、V8的时候,采用的是用户名变换,是静态的,很容易被大家“破解”,通过编写程序很轻易就可以达到不使用星空的目的。宿舍里的宽带采用的是一宿舍一账号,多个人可以一起拨号,电信限制了连接端口数为4个到6个之间,所以大家不需要破解共享上网,破解的话仅仅是不想有广告。

到08年的时候,星空极速更新到V12(大概是吧),在算法上进行了一次大更新,采用动态用户名算法强制用户使用星空客户端,加上XLPPoEPC驱动限制共享,后来捆绑上了视聆通,账号采用一个一号制。

08年9月20日,电信在指定地区强制更新至V18版,更改了动态用户名算法(小改变)。

破解星空极速:

首先说下破解星空极速的目的

一是共享上网

二是不用星空极速,无广告。

关于共享上网的破解此文只介绍通过修改星空极速软件绕过XLPPoEPC驱动检测,使得不安装XLPPoEPC驱动星空极速也可以拨号,再用其它的共享方式进行共享。

具体方法:

所需软件:星空极速V18原版(这是当然)、OllyICE(OllyDBG的修改加强版)

分析与破解过程:

1.因为限制共享是XLPPoEPC驱动,所以我们先卸载该驱动。

2.再运行星空主程序,输入用户名和密码(这里随意输),点连接,会弹出窗口“程序缺少必要组件,请重新安装软件!”。

3.得到以上信息后,我们就从这里入手。因为一般的程序弹出信息窗会用到Windows API函数“MessageBox”,MFC的程序和调用“AfxMessageBox”函数。而“AfxMessageBox”函数更容易定位,因为“AfxMessageBox”实际上是MFC对Windows API函数的封装,所以下一步我们就来查找“AfxMessageBox”在星空中被调用了没,在哪里被调用了。

4.首先用OllyICE打开星空的主程序NetKeeper.exe(在bin目录下)

5.待载入完成后,在反汇编窗口中右键->查找->所有模块间的调用,会打开“找到的模块间的调用”窗口,因为该窗口不支持搜索,所以我需要把内容复制到记事本里搜索。在此窗口中右键->复制到剪贴板->整个表

6.再打开“记事本”,粘贴内容,Crtl+F查找,输入AfxMessageBox,勾选“向上”(因为粘贴后光标到了最下面),查找后找到一行,如下

0040F749 call<jmp.&MFC42.#1199_AfxMessageBox>MFC42.#1199_AfxMessageBox

复制前面的地址0040F749

7.到OllyICE,切换到反汇编窗口,Ctrl+G,输入0040F749,转到地址,看到如下代码

0040F740/$6A FF push-1

0040F742|.6A 00 push0

0040F744|.68 31800000 push8031

0040F749|.E8 00BB0100 call<jmp.&MFC42.#1199_AfxMessageBox>

0040F74E/.C3retn

8.点击 0040F740/$6A FF push-1 这行

信息窗口会显示

本地调用来自 0040F6A3

右击它->转到CALL 来自0040F6A3。先F2对此句下断点。

F9运行程序,连接网络。看到程序运行到0040F6A3,尚未弹出错误窗口,再F9运行,程序弹出提示窗口。

由此基本上判断

0040F6A3|.E8 98000000 call0040F740

该句是转向弹出窗口的代码

9.Ctrl+G 输入0040F6A3 转到

看到如下代码

0040F699|>8B4424 0C mov eax, dword ptr [esp+C]

0040F69D|.85C0testeax, eax

0040F69F|.74 07 jeshort 0040F6A8

0040F6A1|.8BCEmov ecx, esi

0040F6A3|.E8 98000000 call0040F740

0040F6A8|>33C0xor eax, eax

0040F6AA|.5Epop esi

0040F6AB|.59pop ecx

0040F6AC/.C2 0400 retn4



鼠标点击上面的第一行代码,发现是被

0040F682

0040F68D

这两句调用的

相关代码

0040F67B|.E8 30000000 call0040F6B0

0040F680|.85C0testeax, eax

0040F682|.74 15 jeshort 0040F699

0040F684|.8BCEmov ecx, esi

0040F686|.E8 35000000 call0040F6C0

0040F68B|.85C0testeax, eax

0040F68D|.74 0A jeshort 0040F699

0040F68F|.B8 01000000 mov eax, 1

0040F694|.5Epop esi

0040F695|.59pop ecx

0040F696|.C2 0400 retn4

分析周围的代码,因为转向弹出窗口的模块是在一个retn语句之下,很可能是被

jeshort 0040F699

跳过了才出现弹窗提示的

所以我们对

0040F682|.74 15 jeshort 0040F699

0040F68D|.74 0A jeshort 0040F699

这两句用进行修改

占击该行后按空格,输入NOP,点汇编,再取消。

两处都这样修改。

10. 修改好了测试下。F9运行程序,点击连接网络。OK,不会提示了。这样就证明我们的修改成功了~现在还要保存修改的结果。

11. 右键->复制到可执行文件->所有修改->全部复制。

12. 弹出窗口后右键->保存文件,输入新文件名保存即可。



到此,修改版就完成了~ 是不是很简单呢。

星空极速只需要主程序一个文件就行了,这样就可以把修改好的程序复制出来,再把星空极速原版卸载了。

在此说明一下:想达到过驱动的目的,修改的地方和方法不是唯一的,也可以修改判断语句,或者稍上面一些的跳转语句,不用NOP改跳转类型都可以的,本文只是按照本人的习惯进行描述的,大家可以自己扩展。



最后的疑问:

本人发布出来的修改版就是按照上面的方法制做的,但经过我的测试及大家的反映,会发现,有时这样还是不能成功拨号,需要额外的Settings.dat文件或者其它文件,到底是为什么呢?就留给有兴趣和能力的人去挖掘吧。本人只小小的研究了一下,因为V18算法的破解,没继续研究了。

结语:

本人第一次写这类文章,对操作的描述可能详略不得当,大家见谅,以后再写的话我会多注意。

修改方法有了,基本上就不怕星空的限制共享了,但因为本文的出现,也许会让星空极速在下个版本中加强反破解的措施,这是我不希望看到的。不过,相信有更多的高手会解决这个问题的。

文章中提到的OllyICE软件本站会提供下载。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值