![]() |
indy tcp server -> shellexecute
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin IdTCPServer1.Active := True; Application.ShowMainForm := false; end; procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread); var user,passwort:String; begin user:= athread.connection.readln; if user = 'rubooo' then begin athread.Connection.WriteLn('Passwort eingeben: '); passwort := athread.connection.ReadLn; if passwort = 'test' then athread.connection.writeln('Willkommen!'); ShellExecute(Application.Handle, 'open', PChar(SysUtils.GetEnvironmentVariable('COMSPEC')), PChar(''), nil, SW_show); end else begin athread.Connection.Disconnect; end; end; procedure TForm1.IdTCPServer1Connect(AThread: TIdPeerThread); begin athread.connection.WriteLn('Username eingeben: '); end; end. dieses code funktioniert auch soweit (ich connecte zu dem server per telnet ) ! aber jetzt habe ich eine frage:: wie kann ich die shell auf dem remotepc verstecken ! oder wie kann ich kommandos an den remotpc senden, per shell ??!! ich würde mich auch über ein gutes tut über den befehl shellexecute freuen :mrgreen: ! [edit=alcaeus]Code-Tags durch Delphi-Tags ersetzt. Mfg, alcaeus[/edit] |
Re: indy tcp server -> shellexecute
Hallo rubooo,
bitte erstelle doch fuer jede der 3 Fragen (ShellExecute, Shell verstecken, Shell remote ausfuehren) einen eigenen Thread, damit es hier nicht drunter und drueber geht. Bedien dich bitte vorher aber der ![]() Trotzdem noch eine Fragee meinerseits: warum willst du die Shell auf dem Remote-PC verstecken? Ich wuerde sie da lassen, als Indikator dafuer, dass jemand auf den PC zugreift. Vielleicht kannst du uns aber auch einen guten Grund nennen, warum der Benutzer des Client-PCs die Shell nicht sehen soll. Greetz alcaeus |
Re: indy tcp server -> shellexecute
@alcaeus Mal eine Frage meinerseits: Warum söllte der Benutzer des Remote-PC's die Shell sehen? Es gibt bestimmt wesentlich schönere Möglichkeinten ihn darüber zu informieren wenn ein Client verbunden ist - sofern es überhaupt erwünscht ist!
|
Re: indy tcp server -> shellexecute
ich will eine art telnet server coden ! daher soll die shell nicht sichtbar sein ! :cyclops:
un zwar soll er im meinem kleinen heimnetzwerk installiert werden :-D ! |
Re: indy tcp server -> shellexecute
Zitat:
Greetz alcaeus |
Re: indy tcp server -> shellexecute
@alcaeus: Ich glaube, die meisten Menschen würde es furchtbar nervern, wenn immer sobald sich jemand zu dem Telnet-Server auf ihrem PC verbindet irgendwo ein "*DING* Jemand greift auf deinen Rechner zu" erscheinen würde.
Bekanntere Telnet-Server-Programme arbeiten nicht so sondern vielmehr mit Log-Dateien die meiner Meinung nach auch sehr viel mehr Sinn ergeben. @rubooo: probiers ma mit SW_HIDE anstelle von SW_SHOW ;) |
Re: indy tcp server -> shellexecute
ja danke :wall: ! SW_hide hab ich mittlerweile auch rausgefunden ! :P
aber zu meinem eigentlichen problem ... wie kann ich mir anzeigenlassen was auf dem remotet pc passiert ?! also wenn ich z.b. mit dem befehl ein (unsichtbare :oops: ) shell ausführe:
Code:
und wie kann ich mir nun das ergebnis dieses kommandos im telnet client anzeigen lassen? :pale:
ShellExecute(Application.Handle, 'open', PChar(SysUtils.GetEnvironmentVariable('COMSPEC')),
PChar('/C dir'), nil, SW_HIDE); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:38 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz