之前在学校里做过类似的,主要是抓包,然后比较,记得当时有人写了一个Dr.Com的linux客户端,不好使,自己照着抓包的结果调整了一下,就差不多了,不过毕业好些年了,自己搞搞其实不太难的
2012/4/10 Qian Hong <[email protected]> > Hi all, > > 更新一下目前最新的状况: > 目前Wine的wpcap proxy仍然无法被接受, 根据在IRC上和Alexandre Julliard 的沟通, 我 > 需要证明至少有一个win32 only的校园网认证程序可以在Wine+wpcap proxy上成功认证, 他 > 才会接受wpcap proxy的补丁. > > 目前我做了各种尝试, 闪迅/翼迅都失败了, 徐州电信校园网认证客户端也失败了, 我所知 > 道的只有Dr.com最有机会成功了. > > 孤掌难鸣, 再次向学校有Dr.com网络环境的朋友求助, 请协助我进行测试! > > Dr.com有很多变体, 全国有300多个高校使用Dr.com, 有些变体有Linux替代版, 有些没有. > 但是不管你们学校是否已经有Dr.com的Linux版, 以下的测试结果都是非常有价值的, 我们 > 需要完成的是proof of concept. 假如我们能证明有一个版本的Dr.com能在Wine下成功认证 > ,那么将来就会有越来越多的校园网认证客户端能在Wine下运行. > > 在测试之前, 有一个小问题需要使用Dr.com的朋友帮我确认: Dr.com在成功认证之后会不会 > 在本机创建一个网卡? (像pppoe/vpn一样) 如果会的话, 那么Dr.com在Wine上运行的难度就 > 非常大了. 如果Dr.com不需要创建一个新网卡, 那么在Wine上运行的机会是很大的. > > 我更新一下测试步骤: > > -1. sudo su, 切换到root帐号, 全程使用root权限进行测试 > (如果不希望用root,也可以用setcap, 但是那样会稍微复杂些, 对于proof-of-concept, 当 > 然是尽可能简单最好) > > 0. 安装最近版本的Wine, 可以是 wine 1.4 / 1.5.0 / 1.5.1 等 > > 1. 到这里下载 wpcap.tar.gz: > http://dawncrow.de/wine/wpcap.html > 解压之后, 将 wpcap.dll.so 复制到 /usr/lib/wine 目录 > (如果你是编译安装, 则放到相应的目录) > > 2. 安装mfc库: > $ winetricks -q mfc42 > > 3. 从WinXp复制 npptools.dll , 放到 ~/.wine/drive_c/windows/system32 > > 4. 从这里下载 wmicore.exe : > http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=24946 > > 在winecfg中设置Windows的版本为Windows 98, 骗过wmicore.exe, 安装完wmicore.exe之后 > , 重新设置windows版本为WinXP > > 5. 开始安装 Dr.com > (请告诉我你们学校使用的 Dr.com的下载地址, 确保我们测试的是同一个文件) > > 6. > 安装完之后, 在 > ~/.wine/drive_c/Program Files/Dr.COM 宽带认证客户端 > 下有一个 ishare_user.exe , 运行这个程序就可以尝试登录 > > 为了得到详细的log, 请按下面的方式增加debug参数: > WINEDEBUG=+winsock,+iphlpapi,+wpcap,+wininet wine ishare_user.exe > 然后把终端的日志完整地保存下来发给我一份 > > 登录过程显示的输出会乱码, 有两种workaround, 一种是下载wine的源代码, 修改 > dlls/gdi32/font.c中的 GdiGetCodePage() 函数, 将 return cp 改为 return 936 > 另一种是, 暂时不理会乱码, 等测试一段时间之后, 检查 "Dr.COM 宽带认证客户端" > 目录下的client.log, 用notepad打开就不会乱码了. > > 到这里, 就可以看看究竟能不能成功登录校园网, 如果不成功的话是什么错误输出. > > 孤掌难鸣啊,伤不起啊,有网络环境的朋友请协助测试啊... > 非!常!感!谢! > > -- > Regards, > Qian Hong > > - > Sent from Ubuntu > http://www.ubuntu.com/ > > > > > > 2012/2/29 Qian Hong <[email protected]>: > > 各位朋友, > > > > 如果你的学校有dr.com的网络环境, 并且你愿意帮忙为开源软件做贡献, 请一起来测试wine dr.com > > > > 目前我测试过几个版本的dr.com, 已经发现的bug有两个, 一个是中文乱码问题, 一个是缺少npptools.dll的问题. > > > > 前者是一个known bug: > > incorrect font rendering for CJK programs > > http://bugs.winehq.org/show_bug.cgi?id=16325 > > > > 后者我刚刚报给wine: > > npptools.dll is needed by ishare_user.exe of Dr.com > > http://bugs.winehq.org/show_bug.cgi?id=30041 > > > > 感兴趣的朋友可以订阅这两个bug,跟踪它们的进展. > > 另外,这个bug也可能有关: > > Bug 21572 - KFSensor 4.5.0 Professional Trial: Trouble starting and > > stopping the service > > > > 这两个bug都有workaround的方法,但是由于我没有dr.com的网络条件可以测试, > > 所以我不知道解决这两个bug之后还会不会有别的问题, 需要大家的帮忙. > > > > 如果你的学校有dr.com的网络环境, 并且你愿意帮忙,请继续往下看: > > > > > > -1. *非常重要*: 为了在测试中排除一切干扰, 请务必删除或者改名备份原来的 ~/.wine 文件夹 > > 然后从一个全新的wineprefix开始测试 > > > > 0. 我目前用于测试的dr.com版本是: Dr.COM Client-重庆交通大学-Ver3.73.exe [1] > > 如果这个版本不适合你的学校, 请告诉我你的学校使用的版本的名称和下载地址. > > > > 0.5 wine目前没有mfc42.dll, 所以需要运行 winetricks -q mfc42进行安装 > > > > 1. wine目前没有nptools.dll这个文件, 所以无法运行dr.com, workaround的方式是从 > > windows xp复制一个过来. 据说vista没有这个dll > > > > 2. 目前dr.com在wine下认证的时候会有乱码, 认证信息乱码了我们就很难判断认证 > > 失败的原因了, 所以需要先对 Bug 16325 进行workaround > > 目前除了修改源代码再从源码编译, 没有其他非常好的workaround方式. > > wine-cn源中的wine二进制打过了修复中文乱码的patch, 但是wine-cn很久没有更新了. > > 如果要给wine报bug,必须测试最新版. > > > > 因此, 我们不得不下载源码,修改源码,然后从源码编译. > > > > Ubuntu下编译安装wine最简单的步骤是: > > - *重要* : 添加wine的ppa源, 参见[2] > > - $ sudo apt-get update > > - $ sudo apt-get build-dep wine1.3 > > - $ apt-get source wine1.3 > > - $ cd wine1.3-1.4~rc5/ (或相应版本的类似目录名称) > > - *重要* : 修改GdiGetCodePage函数的源代码 *以下详细解释* > > - $ tools/wineinstall > > - 根据提示, 依次输入yes和你的sudo密码 > > > > 编译时间可能长达1小时, 看机器配置了 > > 如果你有过编译的经验, 那么可以不用 tools/wineinstall, > > 自己用configure和make, make的时候加入 -j4 参数,可以大大加速 > > configure的时候加上 --disable-tests 也可以大大加速 > > 根据你的cpu总线程数, -j4可以修改为其他的数字 > > > > 完成之后,运行 > > $ wine --version > > $ which wine > > 检查一下结果是不是 > > wine-1.4-rc5 > > 和 /usr/local/bin/wine > > > > *** 修改GdiGetCodePage函数的方法如下 *** > > - 用你喜欢的编辑器打开 wine源代码目录下的 dlls/gdi32/font.c 文件 > > - 编辑大约第367行, 把"return cp; " 改为 " return 936;" (不含引号, 但注意保留分号) > > ********************************************* > > > > 至此以后, 运行wine dr.com应该就不会有乱码. 这种方式只适合测试用, 不适合推广. > > > > 3. > > 运行的方式, 是: > > cd 到 ~/.wine/drive_c/Program Files$ cd Dr.COM\ 宽带认证客户 端/ > > $ wine ishare_user.exe > > > > 到这里, 就需要在你学校的网络环境下, 看看dr.com能不能用了. > > 如果不能用, 我可能会请你提供进一步的信息, 包括终端输出, 以及dr.com的登陆信息等 > > > > 非常感谢! > > 如果你愿意帮忙,但是遇到困难,比如编译安装, 请务必在列表里告诉大家让大家协助你解决. > > > > [1] > http://www.cqjtu.edu.cn/software/Dr.COM%20Client-%E9%87%8D%E5%BA%86%E4%BA%A4%E9%80%9A%E5%A4%A7%E5%AD%A6-Ver3.73[%E5%B0%81%E8%A3%85][FOR%20XP%20vista%20win7].rar > > [2] http://www.winehq.org/download/ubuntu > > -- > > Regards, > > Qian Hong > > > > - > > Sent from Ubuntu > > http://www.ubuntu.com/ > > > > -- > Regards, > Qian Hong > > - > Sent from Ubuntu > http://www.ubuntu.com/ > -- > ubuntu-zh mailing list > [email protected] > https://lists.ubuntu.com/mailman/listinfo/ubuntu-zh > -------------- 下一部分 -------------- 一个HTML附件被移除... URL: <https://lists.ubuntu.com/archives/ubuntu-zh/attachments/20120410/520e4e74/attachment.html> -- ubuntu-zh mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-zh
