编写工具突破网吧CMD限制
1.技术要点本文主要受2008年第4期的《网吧特殊环境下获得操作系统帐户信息》启发而写的小工具。在网吧的特殊环境下,有许多限制,不能使用CMD就是其中一个。本工具主要还是使用了system()函数,另外,还使用了_chdrive()和chdir()。纸上谈兵也是无意,下面来看一下关键代码。 [ Zx;W#];Ic;r4S
5n6E1[{? O
2.关键代码 s/?a7UN ?$l/c j
r!Z\m ?
Quote:
void drivefun(char *path,char *cmdline) 5M{L1hH*Xn
{
int drive;
if(cmdline[0]>='a'&&cmdline[0]<='z')cmdline[0]-=32; //转换为大写字母 7s b5AatYz d
switch(cmdline[0])
{ #{ S`/sK.U @V
case 'A':drive=1;break; 8S)nC7f,Y2s7@
case 'B':drive=2;break;
case 'C':drive=3;break; 5sX:CY{*H pq
case 'D':drive=4;break; 8t"]@&`z-E V
case 'E':drive=5;break; 0D']4e-X-AK
case 'F':drive=6;break;
case 'G':drive=7;break;
} a`EZ(W%GM
if(_chdrive(drive)==-1) //改变当前驱动器
{
cout<<"系统找不到指定的驱动器。"<<endl<<endl; f#bN C#v J:G |8re @ u
return; G.n*Zy z8L7LUp)V
} )b!@T2z5W#P
path[0]=cmdline[0]; cwV,[_$\RE*qG
path[1]=':';
path[2]='\\';
path[3]='\0';
cout<<endl; f u;G)i G ^
} /Z^*P)^E