Willkommen bei Network & Security     remoteshell-security.com
Partnerseiten
login.php?sid=428710dd5187351108f3bcbff2893f4d profile.php?mode=register&sid=428710dd5187351108f3bcbff2893f4d faq.php?sid=428710dd5187351108f3bcbff2893f4d memberlist.php?sid=428710dd5187351108f3bcbff2893f4d search.php?sid=428710dd5187351108f3bcbff2893f4d index.php?sid=428710dd5187351108f3bcbff2893f4d

Foren-Übersicht » Programmierung » Windows Shell Programmieren
Neues Thema eröffnen  Neue Antwort erstellen Vorheriges Thema anzeigen :: Nächstes Thema anzeigen 
Windows Shell Programmieren
BeitragVerfasst am: 13.09.2006 16:51 Antworten mit Zitat
BlackLotus
Anmeldedatum: 04.01.2006
Beiträge: 717
Wohnort: www and 127.0.0.1/localhost




Hiho Leutz ich hab mal ne Frage hat einer von euch ne Idee oder COde zu einer Windows Shell?
Wenn die Shell gesperrt ist (cmd & command.com) kann ich zwar die bash von cygwin benutzen aber naja hat einer von euch ne Ahnung wie man selber ne Shell proggen kann?
Also in C delphi oder sonst einer Sprache die es utner Win tut^^

_________________
Eine Kette ist nur so stark wie ihr schwächstes Glied.

Die Welt wird nicht von denen bedroht die böse sind,sondern von denen die das Böse zulassen.
Albert Einstein

Man kommt nicht aus seiner Haut raus.....,
Nur Schlamm kann das Very Happy

http://blackwiki.bl.ohost.de
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
BeitragVerfasst am: 13.09.2006 17:51 Antworten mit Zitat
Ferro Unit
Anmeldedatum: 23.08.2006
Beiträge: 18




Ist jetzt zwar nicht gerade das ökonomischste, aber man könnte mal versuchen eine ganz normale php shell bei gesperrter command.com/cmd zu benutzen.
Benutzer-Profile anzeigen Private Nachricht senden
Re: Windows Shell Programmieren
BeitragVerfasst am: 13.09.2006 18:44 Antworten mit Zitat
duddits
Anmeldedatum: 03.01.2006
Beiträge: 569
Wohnort: /proc




Hi,

BlackLotus hat Folgendes geschrieben:
Hiho Leutz ich hab mal ne Frage hat einer von euch ne Idee oder COde zu einer Windows Shell?
Wenn die Shell gesperrt ist (cmd & command.com) kann ich zwar die bash von cygwin benutzen aber naja hat einer von euch ne Ahnung wie man selber ne Shell proggen kann?
Also in C delphi oder sonst einer Sprache die es utner Win tut^^


meinst du also, das man nur keinen Zugriff auf die Dateien cmd.exe unb command.com hat?
Nun dann sollt es mit jeder Programmiersprache möglich sein, mit der man Befehle am System absetzen kann.
Doch es müssen alle Shell-Buildins, selbst geschrieben werden. Welche das sind weiß ich allerdings nicht. Kannst aber mal kucken was noch alles klappt wenn du die PATH Variabel von Windows löscht, soweit ich weiß funktionieren auf jedenfall noch "dir" und "cd".

Werden allerdings auch die Zugriffe auf alle anderen Dateien/Bibliotheken/Module (was weiß ich was esda noch alles gibt) sieht das ganze schon anders aus.

Allerdings reichen meine derzeitigen C Kenntisse nicht dafür aus und eine Implementierung in Java macht für solch ein Vorhaben wenig Sinn.

Habe dennoch hier mal ein kleines Programm welches einfach den Befehl ausführt, allerdings wird es nur funktionieren können, wenn man Zugriff auf die cmd hat:
Code:

#include <stdio.h>
#include <string.h>
#define ARRAY 80
int main(void)
{
      char x[ARRAY], *tmp;
      printf("\n\t Execer\n");
      printf("\nPlease enter the command you want to exec: ");
      fgets(x, ARRAY,stdin);
      tmp = strrchr(x, '\n');
      *tmp = '\0';
      system(x);

}


Aber werde mich glaube ich mal ransetzen und in Java so ne kleine Shell schreiben und dann hier posten.

greetz duddits


Zuletzt bearbeitet von duddits am 11.08.2007 15:22, insgesamt einmal bearbeitet

_________________
Quidquid agis, prudenter agas et respice finem!

Jabber ID: duddits@amessage.info
Webseite: http://www.remoteshell-security.com
Weblog: http://blog.remoteshell-security.com
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Jabber ID
BeitragVerfasst am: 13.09.2006 21:15 Antworten mit Zitat
BlackLotus
Anmeldedatum: 04.01.2006
Beiträge: 717
Wohnort: www and 127.0.0.1/localhost




Ich werd wohl eine in C schreiben wer erster fertig ist Wink
Ich geb mir Mühe fange morgen früh an und probier nen paar kleine extras einzubauen bin auf deine Shell gespannt duddits

_________________
Eine Kette ist nur so stark wie ihr schwächstes Glied.

Die Welt wird nicht von denen bedroht die böse sind,sondern von denen die das Böse zulassen.
Albert Einstein

Man kommt nicht aus seiner Haut raus.....,
Nur Schlamm kann das Very Happy

http://blackwiki.bl.ohost.de
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
BeitragVerfasst am: 15.09.2006 15:37 Antworten mit Zitat
duddits
Anmeldedatum: 03.01.2006
Beiträge: 569
Wohnort: /proc




Hi,

habe jetzt mal meine sehr frühe alpha-Version der kleinen WindowsShell in Java veröffentlicht.

Allerdings sind noch eine Menge Fehler vorhanden.

Hier mal eine kurze Übersicht an Fehlern, die bis zur vollwertigen alpha beseitigt werden sollen:

- umständliche eingabe von Befehlen wie mkdir und cd
- Problem beim Aufruf von externen Programm aus der System
PATH-Variabel(z.B. net funktioniert nicht)
- zu wenige Shell-BuildIns
- noch nicht mal einfache Rechenoperationen sind möglich
- schlechte Formatierung einiger Ausgaben
- keine "clear screen" Funktion


Das Programm sollte eigentlich auch unter Linnx und auch MAC laufen sofern der enetsprechende JRE(mindestens 1.5) vorhanden ist. Allerdings habe ich das ganze Programm unter Windows entwickelt und bis her noch zu keiner Evaluierung gekommen.

Nun der bisherige Code:

Code:
import java.io.*;
import java.util.Scanner;

public class WinShell {
/**
Author: daniel baier alias duddits
Licens: GPL
Requirements: JRE 1.5 for running and the JDK 1.5 for compiling
Version: 0.05 alpha release
**/

   // entspricht dem Tree Befehl unter Windows --> Rekursive Lösung
   public static void tree(String start) {
      File f = new File(start);
      File[] h = f.listFiles();
      for (int i = 0; i < h.length; i++) {

         if (h[i].isDirectory()) {
            start = h[i].toString();
            System.out.println(h[i]);
            tree(start);
         }
      }
   }

   // entspricht dem Dir Befehl unter Windows
   public static void dir(String start) {
      File f = new File(start);
      File[] h = f.listFiles();
      for (int i = 0; i < h.length; i++) {
         System.out.println(h[i]);
      }

   }

   // entspricht dem mkdir Befehl unter Windows
   public static void mkdir(String start, String startort) {
      File f = new File(startort + start);
      f.mkdir();

   }

   // entspricht dem cd Befehl unter Windows
   public static String cd(String start, File currentDir) {
      File fullPath = new File(currentDir.getAbsolutePath());
      String sparent = fullPath.getAbsoluteFile().toString();
      return sparent + start;

   }

   public static void main(String[] args) {

      try {

         boolean exit = true;
         String s, s1;
         BufferedReader br = new BufferedReader(new InputStreamReader(
               System.in));
         String startort = "/";
         while (exit) {

            File f = new File(startort);
            System.out.print(f.getAbsolutePath() + "> ");
            s = br.readLine();

            // Shell beendet sich, wenn exit eingegeben wird
            if (s.equals("exit")) {
               exit = false;
            } else if (s.equals("ls")) {
               dir(startort);
            } else if (s.equals("tree")) {
               tree(startort);
            } else if (s.equals("cd")) {

               System.out
                     .print("Geben Sie den Pfad ein, in dem Sie wechseln wollen: ");
               s1 = br.readLine();
               try {
                  String cds = cd(s1, new File(startort));
                  startort = cds;
               } catch (Exception verz) {
                  System.out.println("Verzeichnis " + s1
                        + " konnte nicht gefunden werden.");
               }
            } else if (s.equals("mkdir")) {
               System.out
                     .print("Geben Sie den Namen des Verzeichnisses an,\nwelches Sie Erstellen wollen: ");
               s1 = br.readLine();
               mkdir(s1, startort);
            } else {
               try {
                  String sa[] = { s };
                  ProcessBuilder builder = new ProcessBuilder(sa);
                  builder.directory(new File(startort));
                  Process p = builder.start();
                  Scanner se = new Scanner(p.getInputStream());
                  System.out.println(se.next());
               } catch (Exception ik) {
                  System.out.println(f.getAbsolutePath() + "> Befehl "
                        + s + " konnte nicht gefunden werden");
               }
            }
         }
      } catch (Exception io) {
         io.printStackTrace();
      }

   }

}


Fragen, Anregungen und natürlich Verbesserungen sind jederzeit herzlich willkommen.

greetz duddits

_________________
Quidquid agis, prudenter agas et respice finem!

Jabber ID: duddits@amessage.info
Webseite: http://www.remoteshell-security.com
Weblog: http://blog.remoteshell-security.com
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Jabber ID
BeitragVerfasst am: 16.09.2006 14:36 Antworten mit Zitat
BlackLotus
Anmeldedatum: 04.01.2006
Beiträge: 717
Wohnort: www and 127.0.0.1/localhost




Ich poste meine alpha version auch bald vllt heut abend ist aber extrem alpha ich versuche funktionen wie ls einzufügen ^^ ich mag dir nicht tipp aus gewohnheit immer ls aber gleichzeitig habe ich natürlich auch die unterstützung für die standardbefehle aus der windows shell da gelassen leider funzen einigen icht richtig cd,edit,und copy z.B.

_________________
Eine Kette ist nur so stark wie ihr schwächstes Glied.

Die Welt wird nicht von denen bedroht die böse sind,sondern von denen die das Böse zulassen.
Albert Einstein

Man kommt nicht aus seiner Haut raus.....,
Nur Schlamm kann das Very Happy

http://blackwiki.bl.ohost.de
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
BeitragVerfasst am: 19.09.2006 14:53 Antworten mit Zitat
duddits
Anmeldedatum: 03.01.2006
Beiträge: 569
Wohnort: /proc




Hi,

evtl. könnte für Dich auch die Windows Power Shell[1] interessant sein.
Allerdings befindet sich diese noch in Entwicklung.

[1] microsoft.com

greetz duddits

_________________
Quidquid agis, prudenter agas et respice finem!

Jabber ID: duddits@amessage.info
Webseite: http://www.remoteshell-security.com
Weblog: http://blog.remoteshell-security.com
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Jabber ID
BeitragVerfasst am: 19.09.2006 16:08 Antworten mit Zitat
BlackLotus
Anmeldedatum: 04.01.2006
Beiträge: 717
Wohnort: www and 127.0.0.1/localhost




Arg ab heute poste ich sofort meinen Quelltetx oder ich mach vernünftige Backups ich hab beim experimentieren immer in der einen Datei gespeichert und meine Shell zerstört deswegen konnt ich die noch nich posten kommt aber noch

_________________
Eine Kette ist nur so stark wie ihr schwächstes Glied.

Die Welt wird nicht von denen bedroht die böse sind,sondern von denen die das Böse zulassen.
Albert Einstein

Man kommt nicht aus seiner Haut raus.....,
Nur Schlamm kann das Very Happy

http://blackwiki.bl.ohost.de
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
BeitragVerfasst am: 09.12.2006 18:23 Antworten mit Zitat
Kaito
Anmeldedatum: 12.01.2006
Beiträge: 80
Wohnort: /desktop/papierkorb




so um den tread aufzufrischen
wie kann ich mit cb.net auf cmd zugreifen
also ich will eine textbox wo man den text eingibt und eine liste mit allen schülern aus der Klasse und dan noch einen senden button

der befehl den ich verwenden will ist
net send name.1c text
cya Kaito

_________________
Meine Seite:

www.sharerama.de

Sie ist noch im Aufbau
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden ICQ-Nummer
Windows Shell Programmieren
Foren-Übersicht » Programmierung
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Alle Zeiten sind GMT + 1 Stunde  
Seite 1 von 1  

  
  
 Neues Thema eröffnen  Neue Antwort erstellen  


Forensicherheit

Powered by phpBB © 2001-2004 phpBB Group
phpBB Style by Vjacheslav Trushkin
Deutsche Übersetzung von phpBB.de


remoteshell-security.com | Partner | Boardregeln | Impressum