最近一直在弄恶心的湖北校园版e信上网的问题。。。
主系统ubuntu,虚拟机xp。
想用nat的方法,在xp下面用netkeeper.exe拨号,然后ubuntu上网,可是提示找不到设备。。。
换用bridged adapter的方法。。。可以连上但是ubuntu不能上网。。。
用代理什么的想过,但是如果用代理,虚拟的xp就要一直开着。。。太占资源了。。。
所以想用下面的方法:
1. 用ollydbg找出算法。。。然后写脚本拨号。
2. 在xp下面拨号发送帐号前拦截下来真实帐号,然后到ubuntu下换用脚本拨号。。。
用上面的1方法,查netkeeper的壳貌似是vmprotect,这壳暴强。。。虚拟机的壳,我是完全没办法。
我用排除的方法,能够正常拨号,需要的最少的dll/exe文件就:
NetKeeper.exe
raslib4vc6.dll
StringList.dll
xinliPPPoE.dll
下面这些肯定不含加密算法所以就留下了:
lang[文件夹]
ams.nkd
aserctl
bindconfirm.dat
CheckPin.log
connprop.ini
Credit
hbui
old_port.ini
Settings.dat
version.ini
然后用peid看了下剩下文件的输入表。
xinliPPPoE.dll 文件里有 dial isconnectd init 等等类似的函数。
猜测大概这个就是拨号的东西了。。。(没用系统函数的真好。。。)
然后就od载入 xinliPPPoE.dll 在 dial init isconnectd getdialtoken 这几个函数入口下了断点。
然后关了od,接着打开科来网络分析系统,监测本地网卡。只监测ppp协议。
前面抓包,可以看到当时正常拨号的帐号,帐号的前面有个0x0D 0x0A,即回车符。
打开 netkeeper.exe ,用od附加(直接用od载入会一直在ntdll领空循环。。。)。
然后直接F9运行,这时候点链接。
马上od就停在了getdialtoken函数这里。
这个时候在下面内存窗口里是可以看到帐号前面加密的东西的。。
而且这时候科来网络分析系统里面没有ppp协议通过。
所以这时候就想把帐号前面加密的东西加上帐号用系统自带的拨号。。
可是整个帐号前面还有个 0x0D 0x0A ,windows下系统自带的拨号没法输入0x0D 0x0A。
现在在linux下弄,shell脚本一点都不会。。。所以也没办法验证。。。
#!/bin/bash
cd $(dirname $0)
#用户名:
username=
#密码:
password=
poff -a > /dev/null
#想知道这里怎么在前面加上一个回车符。。我这么做肯定是错的。。。这又不是c。。。
realusername=0x0D 0x0A$username
cp HFDial.pppoe temp
echo "user \"$realusername\"" >> temp
echo "password \"$password\"" >> temp
mv temp /etc/ppp/peers/dsl-provider
pon dsl-provider > /dev/null
sleep 1
rm Netkeeper.dat
要是你们说时间过了加密帐号就和原来不同。其实不是。
只要没验证,就还可以用。。。
因为用od在getdialtoken函数断下很长时间之后我还没办法验证帐号的时候,我继续F9让它继续跑,
中间至少过了几分钟,它还是拨号成功了。。。
看了科来网络分析系统里面帐号和od断在getdialtoken函数处的帐号一样。
so。。。求教前面加一个0x0D 0x0A 换行符的pppoe拨号shell脚本怎么写。。。
另外windows下有什么办法能用带换行符的帐号拨号的方法么?
求找算法的指导。。。
稍后上图,我切到windows下去截图。
=====
http://115.com/file/anqcmdoa#
NKSetup.exe原版提取安装包,这破东西有个驱动,自动安装到%programfiles%\ChinaNetSn后退出,用uninst.exe 可完全卸载。
http://115.com/file/e76jboqz#
ChinaNetSn.7z 这个是上面精简过的压缩打包。
=====
要是让我写这个软件的话,我肯定不用客户端机器上的时间,这个时间不一定会和服务器上的时间相同。
就先让连接拨号服务器(就大概这么描述)这时候肯定会有数据包发过来,就直接用这个数据包上的时间戳。
服务器上也用这个时间戳。然后各自用时间算出账号,然后“等”客户端发过来验证。
我尝试过,即使修改本机时间,科来网络分析里面的ppp协议数据包时间戳还是不变。。。
然后,即使过了1秒以上,过一会再发送账号拨号还是可以拨号成功,那说明拨号服务器确实在等客户端。。。
==========
那啥。。。可以求注册码咩。。。
=====
在ubuntu论坛发过一次:http://forum.ubuntu.org.cn/viewtopic.php?f=116&t=366417
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!