[Ubuntu-zh] 请问如何在无网络条件下安装wine?

Qian Hong fracting在gmail.com
星期六 五月 12 13:57:01 UTC 2012


Hi hot123tea123,

2012/5/12 hot123tea123 <hot123tea123在hotmail.com>:
> 回 Qian Hong
> 我们学校用的是安腾的客户端,下载地址
> http://www.vdisk.cn/down/index/10157183。
> 今天上午花了好多时间,总算还是把wine装好了。我是在packages.ubuntu.com找到wine1.4以及他依赖的包,一边安装,一边查看缺少的包,在另外一台电脑上下载,总算是安装好了。然后根据论坛上的帖子【ubuntu11.10配置与设置手记(已经修正lightdm配置错误)---临时性置顶】http://forum.ubuntu.org.cn/viewtopic.php?f=77&t=350555的方法,安装我们学校的校园网客户端。可是安装失败。先是弹出窗口,说,Enviroment
> variable not found,点确定之后,又说不能执行外部程序
> amtinstall.bat。尝试用一个绿化版的客户端【http://bbs.scuec.edu.cn/read-htm-tid-1062188.html】,按照步骤绿化后,出现错误:没有找到有效的物理网卡或您的网卡电缆没有插好!不知道该怎么办了。。。

我刚刚下载了你的客户端.
好消息: 这个客户端用了winpcap, 跟 Dr.com v5.2是同类的, 理论上使用
http://code.google.com/p/wine-winpcap-wrapper/ 就可以实现在wine下认证了
坏消息: 目前我也跟你一样遇到 "没有找到有效的物理网卡或您的网卡电缆没有插好" 的错误, 我还需要一些时间研究一下. 如果你愿意自己研究,
可以按照下面的步骤入手:

1. 首先, 下载广外的dr.com v5.2 :
http://www.gdufs.edu.cn/serviceguide/userwebguide.aspx?NID=257
( 广东外语外贸大学(旁路式)-Ver5.2.0(20111031)Windows(通用版).exe )

2. 尝试在wine上运行广外的dr.com, 直到成功在wine上用广外的drcom进行发包. 这个过程可以弄清楚 wine,
winpcap, packet.dll.so, wpcap.dll.so, drcom这几个东西的关系, 搞清楚原理.

3. 在理解原理的基础上, 就可以尝试用同样的方法wine 安腾客户端.

下面简单解释一下 (2):
2.0. 原版的wine是肯定无法支持dr.com v5.2 和 安腾客户端的, 因为他们都依赖了 winpcap的 packet.dll
和 wpcap.dll, 而packet.dll依赖npf.sys这个内核模块, 无法在wine下支持. 我们要做的就是,
在linux下写出一个packet.dll.so 和wpcap.dll.so, 绕过npf.sys , 欺骗dr.com或安腾客户端,
实现认证.
2.1. 到  http://code.google.com/p/wine-winpcap-wrapper/ 下载编译好的
packet.dll.so 和 wpcap.dll.so , 放到系统的 /usr/lib/wine 下
2.2. 到 http://code.google.com/p/wine-winpcap-wrapper/ 下载
packet.dll.fake 和 wpcap.dll.fake, 分别改名为 packet.dll 和 wpcap.dll, 放到
/usr/lib/wine/fakedlls 下
2.3 升级wine到 wine-1.5.4 (注,这一步非常重要, 我们在研究过程中发现
wine-1.5.3和之前的版本都有一个bug会影响drcom v5.2)
2.4 在root下, 安装drcom v5.2, 当程序提示问你要不要安装winpcap的时候, 记得选 *不要*,
因为我们已经有了packet.dll.so 和wpcap.dll.so 伪装的winpcap了.
2.5 如无意外, 就可以打开网卡并且开始认证了. 当然, 因为你学校没有drcom的网络环境, 所以会一直停在发包的阶段直到超时.

实验的过程中, 终端的log有助于理解drcom在wine上工作的过程, 然后再配合阅读 wine-winpcap-wrapper 的源码, 就可以进一步理解.
当你理解这些之后, 就可以动手wine 安腾客户端了. 目前我们写好的packet.dll.so还没办法成功欺骗安腾客户端,
还需要你自己下载源代码, 修改代码自己编译, 想办法骗过安腾.

如果我们成功了, 这些结果可以回馈给wine上游社区, 以后其他使用drcom或者安腾的兄弟就再也不用折腾了.

如果你有兴趣朝这个方向研究, 遇到问题我们可以继续在列表里交流 :) 你今天付出的辛苦, 可以为后来者节省很多时间,
可以帮助linux新手跨过校园网认证这个大门槛. 我接下来的一段时间会比较忙, 不一定对能及时回复邮件, 不过一定会尽量.




-- 
Regards,
Qian Hong

-
Sent from Ubuntu
http://www.ubuntu.com/


关于邮件列表 ubuntu-zh 的更多信息