willbend Skrevet 26. januar 2006 Del Skrevet 26. januar 2006 The client: http://pastebin.com/524695 The server: http://pastebin.com/524696 Bare kommenter koden hvis dere vil. Hvordan kan jeg utføre flere kommandoer en bare en ? Hvordan kan jeg se resultatet av en "dir" f.eks. ? Målet mitt er å simluere cmd. Jeg kan ikke så mye om sockets, er nybegynner i det. Så, hva kan forbedres ? Lenke til kommentar
abcd423417984 Skrevet 26. januar 2006 Del Skrevet 26. januar 2006 klienten: du må ha 2 tråder: en for å lese data fra server og en for å lese data som skal sendes fra bruker. Du kan bare dumpe alt som kommer fra server rett til skjermen, og du kan bare sende alt som kommer fra keybord rett til server. Begge bør puttes i løkker som gjør at de ikke slutter etter 1 mottatt datapakke fra server eller 1 mottatt kommando fra bruker. server: lag en tråd per tilkobling (ved accept) så tillater du at flere er tilkoblet samtidig. her trenger du kun å eksekvere alle kommandoer som kommer fra klienten (recv) og sende output tilbake (å få output fra kommando kan være litt tricky synes mange). Kode får du ikke av meg ettersom det er en del av jobben å skrive den selv, men teknikkene har du fått. Lenke til kommentar
willbend Skrevet 26. januar 2006 Forfatter Del Skrevet 26. januar 2006 Jeg fikk til å utføre flere kommandoer ved å pakke masse rart inni en while(1). Men hvordan få se resultatet? Jeg prøvde char test[500]=system("dir"), men det gikk ikke. Så hvordan får jeg resultatet inni en variabel ? Lenke til kommentar
abcd423417984 Skrevet 26. januar 2006 Del Skrevet 26. januar 2006 (endret) system() returnerer vel bare en tallkode som indikerer om programmet avsluttet riktig (0) eller med en feil (ikke 0). når du uansett bruker winsock så kan du se på winapi for å starte en annen prosess. kanskje det er noe glupt der? Endret 26. januar 2006 av invictus Lenke til kommentar
charlie di meola Skrevet 26. januar 2006 Del Skrevet 26. januar 2006 (endret) FILE *fp; char test[500]; fp = _popen("dir","r"); while (fgets(test,500,fp) != NULL) // send test til klient _pclose(fp); Endret 26. januar 2006 av charlie di meola Lenke til kommentar
am3k Skrevet 27. januar 2006 Del Skrevet 27. januar 2006 " Jeg lager en trojan i c++" Beklager, men denne typen styggedom er ikke ønsket her på forumet. Stenges Lenke til kommentar
Anbefalte innlegg