Zum Inhalt wechseln

Als Gast hast du nur eingeschränkten Zugriff!


Anmelden 

Benutzerkonto erstellen

Du bist nicht angemeldet und hast somit nur einen sehr eingeschränkten Zugriff auf die Features unserer Community.
Um vollen Zugriff zu erlangen musst du dir einen Account erstellen. Der Vorgang sollte nicht länger als 1 Minute dauern.

  • Antworte auf Themen oder erstelle deine eigenen.
  • Schalte dir alle Downloads mit Highspeed & ohne Wartezeit frei.
  • Erhalte Zugriff auf alle Bereiche und entdecke interessante Inhalte.
  • Tausche dich mich anderen Usern in der Shoutbox oder via PN aus.
 

   

Foto

c++ endlosschleife im hintergrund starten

- - - - -

  • Bitte melde dich an um zu Antworten
12 Antworten in diesem Thema

#1
creamfresh

creamfresh

    Script Kiddie

  • Banned
  • PIPPIPPIPPIP
  • Likes
    4
  • 42 Beiträge
  • 1 Bedankt

hi,

ich bin neu im c++ programmieren und bei den schleifen-bereich in meinem buch.

 

habe hier ne endloschleife gemacht als consolenapplication.

 

 

 

#include "stdafx.h"
#include <cstdio>
#include <cstdlib>
#include <iostream>

using namespace std;

int main()

{

    int loopCount;
    cout << "gib ne zahl ein die grösser ist als 0:";
    cin >> loopCount;

    while (loopCount > 0)
        cout << "hello" << loopCount << " you are hacked";
    {

    }


    {

    }
    system("PAUSE");
    return 0;

}

 

 

wenn ihr das programm startet dann bitte nicht lange sonst kackt der pc ab.

 

 

 

man muss ne zahl eingeben und dann startet die endlosschleife.

ich möchte aber ,das wenn man die .exe startet,dass die endlosschleife im hintergrund startet,und auch ohne das man was eingeben muss,einfach nur draufklicken ohne das was angezeigt wird und die endlosschleife im hintergrund läuft.

könnt ihr mir helfen?

 

mfg,

 



#2
old_panther

old_panther

    Hacktivist

  • Premium Member
  • Likes
    28
  • 57 Beiträge
  • 35 Bedankt
  • Android, Android [root]
  • Windows, Linux

Um die Konsole zu verstecken sollte der Snipper hilfreich ein:

 

HWND hWnd = GetConsoleWindow();
ShowWindow( hWnd, SW_HIDE );

 

Und wenn du keine Eingabe haben willst, sondern dass sich das Programm sofort startet und mit der Schleife beginnt, musst du eine Zahl von Haus aus anlegen bzw bestimmen.

Also entweder immer eine fixe Zahl. Und sooft wird jedes mal die Schleife durch gezählt.

Ein anderer Vorschlag: Du generierst bei jedem anstarten des Programms eine Zufallszahl. ;)

 

Regards



#3
Ar@m!s

Ar@m!s

    Noob

  • Members
  • PIPPIP
  • Likes
    5
  • 10 Beiträge
  • 1 Bedankt
#include <windows.h>
#include <cstdio>
#include <cstdlib>
#include <iostream>

using namespace std;

int main()
{

    while (true)
    {
        //cout << "hello" " you are hacked ";
    }

    return 0;
}

Wozu die Konsole verstecken ?

Als Gui anwendung Compil. und gut ist.

 

mann muss auch keine zahl bestimmen, einfach auf true prüfen.



#4
creamfresh

creamfresh

    Script Kiddie

  • Banned
  • PIPPIPPIPPIP
  • Likes
    4
  • 42 Beiträge
  • 1 Bedankt

danke schonmal,

aber ein neues problem ist aufgetreten.

wenn ich den code debugen will dann steht da ne message-box:

 

 

 

 Pfad..../..../......

"Das System kann die angegebene Datei nicht finden."

 

die dateien sind immer im standard pfad drinen, nur die .exe wird nicht nach dem debugen erstellt.

 

hatte das problem schonmal bei ner konsolen anwendung und es mit

#include "stdafx.h" gelöst.

 

jetzt steht da aber bei der GUI anwendung wenn ich debugge unten

 

 

 

 

1>------ Build started: Project: MFCApplication2, Configuration: Debug Win32 ------
1>  stdafx.cpp
1>c:\users\admin\documents\visual studio 2013\projects\mfcapplication2\mfcapplication2\stdafx.cpp(12): error C2447: '{' : missing function header (old-style formal list?)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========



#5
pdr0

pdr0

    Pentester

  • Premium Member
  • Likes
    86
  • 148 Beiträge
  • 87 Bedankt

Erster treffer bei google:

Please Login HERE or Register HERE to see this link!

 

Dein Code ist schlecht formattiert.

 

Lerne den unterschied zwischen

while (loopCount > 0)
{
   cout << "hello" << loopCount << " you are hacked";
}

und

    while (loopCount > 0)
        cout << "hello" << loopCount << " you are hacked";
    {

    }

Please Login HERE or Register HERE to see this link!

Please Login HERE or Register HERE to see this link!

 

Nebenbei solltest du auch mal lesen was ein Dangling else ist, weil du scheinbar dazu neigst:

Please Login HERE or Register HERE to see this link!


  • fluffybunny gefällt das

#6
R3s1stanc3

R3s1stanc3

    Hacktivist

  • Premium Member
  • Likes
    22
  • 72 Beiträge
  • 4 Bedankt
  • 687249355
  • Android [root]
  • Linux

Wenn du Cygwin installiert hast, kannst du fork() benutzen, um die Dauerschleife im Hintergrund laufen zu lassen:

int main(int argc, char **argv, char **envp)
{

	if (0 == fork())
	{
		/* child process */
		while (true) ;
	}
	return 0;

}

bzw wenn du in der Dauerschleife etwas ausführen willst:

while (true) { cout << "blub"; }

 

Ich weiß zwar nicht genau, was du vorhast, aber eine einfache Dauerschleife, die keinen Speicher belegt, bringt deinen PC nicht zum abstürzen.

Wenn es dein Ziel ist, den PC zu überlasten, suchst du eigentlich nach einer Forkbomb und nicht nach einer Dauerschleife.

int main(int argc, char **argv, char **envp)
{
	
	/* optional: execute forkbomb in child proccess */
	if (0 == fork())
		/* forkbomb */
		while (true) fork();

	return 0;

}

Bei einem

Please Login HERE or Register HERE to see this link!

erstellt ein Prozess eine 1:1 Kopie von sich selbst mit allen Daten, Code, Process Counter, ... im RAM.

Im 1. Code benutze ich fork() um einen child process zu erstellen (im child ist der Rückgabewert von fork() immer 0, im parent process gibt fork() die PID vom child zurück). In dem child process führe ich dann die Dauerschleife aus und der parent process beendet einfach. Dadurch läuft deine Schleife im Hintergrund und das Konsolenfenster schließt sich.

Eine Forkbomb erstellt einfach so lange Kopien von sich selbst im RAM, bis dieser voll ist. Wenn das also dein Ziel war, kommst du mit deiner Dauerschleife nicht weit.

Da fork() aber ein UNIX/POSIX syscall ist, brauchst du

Please Login HERE or Register HERE to see this link!

um das ganze unter Windows zu nutzen. Das ganze lässt sich wohl auch mit der Windows API lösen (

Please Login HERE or Register HERE to see this link!

), damit kenne ich mich aber nicht aus.



#7
creamfresh

creamfresh

    Script Kiddie

  • Banned
  • PIPPIPPIPPIP
  • Likes
    4
  • 42 Beiträge
  • 1 Bedankt

egal was ich mache ob konsolenapplikation oder anderes,es kommt immer die meldung

das die exe datei nicht gefunden werden kann wenn ich debugge.

letztens ging es noch

 

kann das vielleicht am linker liegen?was muss ich einstellen damit es geht?

ich benutze visual studio 2013.


Bearbeitet von creamfresh, 29 January 2016 - 20:34 Uhr.


#8
pdr0

pdr0

    Pentester

  • Premium Member
  • Likes
    86
  • 148 Beiträge
  • 87 Bedankt

Da du meinst, dass die Pfade stimmen, solltest du die Ausgabe beim Kompilieren ansehen. Du müsstest da einen Fehler haben.

 

Wenn du F5 drückst und versuchst die Datei zu Debuggen wird zuerst versucht diese zu kompilieren, auch wenn es fehl schlägt versucht VS es immer noch zu starten. Da aber das Kompilieren fehl schlug, ist keine exe vorhanden die debuggt werden könnte, also gibt VS den Fehler "Datei nicht gefunden.." aus.

 

VS neigt dazu bei C++ viele Folgefehler anzuzeigen. Beseitige ALLE fehler beim Kompilieren (auch mal hoch scrollen) und achte darauf das beim erstellen "1 erfolgreich" ausgegeben wird.

 

Sonst kann man hier nur raten..

 

Übrigens ist das C++ von MS nicht unbedingt das Beste

Please Login HERE or Register HERE to see this link!

Please Login HERE or Register HERE to see this link!

Please Login HERE or Register HERE to see this link!



#9
creamfresh

creamfresh

    Script Kiddie

  • Banned
  • PIPPIPPIPPIP
  • Likes
    4
  • 42 Beiträge
  • 1 Bedankt

habe viel gegoogelt und weitere fehler wurden angezeigt aber jetzt habe ich glaube ich das problem gelöst:

hier der code,ist ne consollen application:

 

#include <"stdafx.h">

#include <cstdio>

#include <cstdlib>

#include <iostream>

#include <windows.h>

 

using namespace std;

 

int main(int argc; char **argv)

 

{ while (1) system (argv[0]);

return 0;

}

 

so jetzt läuft die schleife immer wieder durch.

jetzt läuft der prozess cmd.exe bei mir ungefähr 40 mal pro sekunde und wird im taskmanager angezeigt,

ist aber ohne hintergrund starten....also console wird angezeigt.

 

habt ihr ideen wie ich die forkbomb besser machen könnte?

 

z.b. dass es sich in nen anderen prozess versteckt oder das es sich nach dem rebooten immer und immer wieder startet

oder sowas.....:)


Bearbeitet von creamfresh, 06 February 2016 - 03:33 Uhr.


#10
JohnR

JohnR

    Pentester

  • Premium Member
  • Likes
    21
  • 51 Beiträge
  • 4 Bedankt
  • Spender
  • iPhone
  • Windows, Linux, Mac OS
zum im Hintergrund starten ...
ein paar Denkanstöße ;-)
erstmal müsstest du deinen Prozess von der Konsole trennen ... hierfür gibt's verschiedene Wege... einer , allerdings nur unter Windows wäre

Please Login HERE or Register HERE to see this link!



Ganz ohne Konsole gibt's auch xxx Wege ... ich entwickle primär nicht unter Windows aber dort gibt es dächte ich "Windows Service" was eine Art Daemon oder Hintergrundprozess ermöglicht...

edit gerade mal gegoogelt (wie gesagt mache selten was in Windows)

Beispiel für nen Windowsservice

Please Login HERE or Register HERE to see this link!



Gruß John

Bearbeitet von JohnR, 06 February 2016 - 03:46 Uhr.


#11
pr0legend

pr0legend

    Script Kiddie

  • Members
  • PIPPIPPIPPIP
  • Likes
    23
  • 40 Beiträge
  • 5 Bedankt

Die Konsole brauchst du nicht verstecken wenn du sie erst garnicht erzeugst, siehe: 

Please Login HERE or Register HERE to see this link!

 

Um das Programm in den Autostart zu schreiben kannst du z.B. deine Datei beim Ausführen z.B. in das Temp-Verzeichnis kopieren 

Please Login HERE or Register HERE to see this link!

und anschließend in den Autostart mittels Registry-Eintrag schreiben http://www.dreamincode.net/forums/topic/88222-add-program-to-startup/.

 

Man kann da schon kreativ werden und ich würde dir ja Dinge zur Übung vorschlagen wie Code-Injection o.ä. aber da du in deinem vorherigen post nicht einmals das Prinzip von Codeblöcken "{}" verstanden hattest rate ich dir hier dich weiter mit den Fundamtenalen auseinanderzusetzen! 

 

Da du lt. deinem ersten Post gerade bei den Schleifen bist, könntest du z.B. einen Umrechner für Zahlensysteme schreiben, sprich Binär, Oktal, Dezimal, Hexadezimal.

 

Könntest es so machen, dass man am Anfang eine Zahl per cin eingibt, dann auswählt in welches Zahlensystem umgewandelt werden soll (1=binär, 2=oktal usw.) und dann das Ergebnis angezeigt wird.

 

Dann hättest du was sinnvolles gemacht!


“There is a theory which states that if ever anyone discovers exactly what the Universe is for and why it is here, it will instantly disappear and be replaced by something even more bizarre and inexplicable.
There is another theory which states that this has already happened.”
- Douglas Adams

#12
Rastajan

Rastajan

    Malware Experte

  • Members
  • PIPPIPPIPPIPPIPPIPPIP
  • Likes
    200
  • 101 Beiträge
  • 299 Bedankt
  • 652959
  • Android, Android [root]
  • Windows, Linux
	while(true){}
//oder
	for(;;){}

Wofür auch immer man das braucht...


â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘
░░░░░░░█░█▀▀░░█▀█░░█░░█░█▀░░
░░░░░░░█░▀▀█░░█▀█░░█░░█░█▀░░
░▀░▀░▀░▀░▀▀▀░░▀░▀░░▀▀░▀░▀▀░░
â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘

#13
creamfresh

creamfresh

    Script Kiddie

  • Banned
  • PIPPIPPIPPIP
  • Likes
    4
  • 42 Beiträge
  • 1 Bedankt

oki,

danke schonmal.

dann werde ich mich mal sobald ich kann ransetzen und den prozess verstecken und ohne console,und dass sich das beim booten lädt versuchen zu basteln.

wer noch ideen hat was man noch in ne forkbombe einbauen könnte,bitte hier posten :P


Bearbeitet von creamfresh, 08 February 2016 - 04:13 Uhr.




  Thema Forum Themenstarter Statistik Letzter Beitrag

Besucher die dieses Thema lesen:

Mitglieder: , Gäste: , unsichtbare Mitglieder:


This topic has been visited by 66 user(s)


    , .Puma, 0*ptr, 5natcH, Amun, Ar@m!s, B1nary, Becks, Blackhook, Born2Hack, Bypass, ChEeTaH182, Crap, creamfresh, Crowx88, Cyber Tjak, DeepWater, dev-0, EiLafJu, Emalik Xantier, fluffybunny, Fr0nz, Framerater, frechdax, g0rillaz, gtawelt, gutzuu, hacke2010, holz96, Interimere, JohnR, Kaban, kevte89, keyb0ardz, kiwitone, Konsul, Kozuki, Larva, lNobodyl, lolorollo, m0nk3y, makuta, maxrisk, NamiMote, notfound, old_panther, opheus, pdr0, Pindu, pr0legend, Psykoon303, R3s1stanc3, Rastajan, rat123, roid, smc2014, Stalin, Stronghold, Take1T, Tr!p0d, Traxx, umarex, Unkiii, vital, x1z0ng, Xenio
Die besten Hacking Tools zum downloaden : Released, Leaked, Cracked. Größte deutschsprachige Hacker Sammlung.