Programm verstecken

Ein Visual Basic Programm vor dem Anwender verstecken

Programm vor der Taskleiste und dem Taskmanager verstecken
Das Programm läuft mit VB6 unter Win98, WinME, WinNT4, Win2000 und WinXP.


Will man ein Programm entwerfen, welches für den User unsichtbar im Hintergrund läuft,
reichen ein paar Programmzeilen.


Beim Starten von VB 6.0 wird man gefragt, welche Programmart man erstellen will.
Hier einfach Standard-EXE wählen.

Bild1:



Danach zieht man einen CommandButton und ein Timerelement auf das Form.
In der Caption-Eigenschaft des Command-Buttons schreibt man den Text:
„Ein Klick hierdrauf lässt das Programm für 3 Sekunden verschwinden“

Das Programm dazu kann man unten sehen:

Option Explicit

Private Sub Command1_Click()

  App.TaskVisible = False
  Me.Visible = False
  Timer1.Enabled = True
End Sub

Private Sub Form_Load()
  Timer1.Enabled = False
  Timer1.Interval = 3000
End Sub


Private Sub Timer1_Timer()
  Timer1.Enabled = False
  App.TaskVisible = True
  Me.Visible = True
End Sub





Das Ganze sollte dann in etwa so aussehen:



Bild2:



Bevor man das Programm startet, sollte man es erst mal abspeichern.
Es ist schon so oft passiert, dass ein Programm aus irgendwelchen unerklärlichen
Gründen abstürzt. Selbst, wenn es sich nur um einen Stromausfall handelt.
Dann ist die ganze Programmierarbeit umsonst gewesen und man muss
von vorne beginnen.

Nachdem man das Programm abgespeichert hat, kann man es getrost starten.
Gleich nach dem das Programm gestartet wurde, erscheint eigentlich nicht viel auf dem
Bildschirm:

Bild3:



Nachdem man auf das Feld geklickt hat, verschwindet das Programm und läuft, unsichtbar
für den User, im Hintergrund weiter.
Man beobachte hierbei die Taskleiste!
Sogar in der Taskleiste verschwindet das Programm.
Nach 3 Sekunden erscheint das Programm wieder, so als ob es nie weg gewesen wäre.

Gehen wir einen Schritt weiter.
Jetzt wandeln wir unser Programm in eine .exe Datei um.
Hierzu findet man in der Rubrik Datei, welche sich am oberen Rand der Programmierumgebung befindet, ein Feld „.exe erstellen“

Bild 4:



Hier wählen wir aus in welchem Ordner die .exe Datei erstellt werden soll.
Als Dateiname wählen wir „SYS128“.

Ein Klick auf Optionen... öffnet ein Fenster mit dem Titel „Projekteigenschaften“.

Bild 5:



Hier trägt man in dem Feld Name z.B. „Unsichtbar ein“
Man kann sich zusätzlich in dem Feld „Typ“ Copyright usw. einmal alle Unterpunkte
ansehen und diese, falls notwendig, anpassen.

Ein Klick auf „OK“ schließt das Fenster „Projekteigenschaften“.

Wenn man dann in dem Fenster „Projekt erstellen“ auf „OK“ klickt,
wird unser Programm kompiliert und in eine SYS128.exe umgewandelt.
Das Programm ist grade mal 20 KB groß und kann jetzt ohne VB6.0
Programmierumgebung ausgeführt werden.

Bevor man das Programm jetzt startet, startet man den Taskmanager.
Wenn der Taskmanager aktiv ist, startet man die SYS128.exe.

Bild 6:



Und man sehe und staune, der Taskmanager zeigt nicht, wie zunächst erwartet, das Programm
als „SYS128“ an, sondern den Namen „Unsichtbar“, welchen wir bei der Erstellung der .exe
bei den Projekteigenschaften, s. Bild 5, eingetragen haben.

Unser Programm erscheint jedoch im Taskmanger in der Rubrik „Prozesse“

Bild 7:



Hier wird es als Prozess dargestellt und zwar als „SYS128.exe“

Und dies ist der Dateiname, unter welchen wir das Programm als .exe
kompiliert haben.

Der entscheidende Trick hierbei ist, dass,
wenn man auf den Button des Programms klickt,
das Programm zwar unsichtbar wird, aber es im Taskmanager nur zum Teil verschwindet.
Es wird unsichtbar für die Taskleiste und auf dem Desktop ist auch weg.
Im Taskmanager in der Rubrik Anwendungen verschwindet es ebenfalls und das ist genau
das worauf es ankommt.
Es verschwindet jedoch nicht im Taskmanager in der Rubrik Prozesse!
Dort steht es weiterhin, selbst dann, wenn das Programm im Hintergrund weiterläuft.

Für einen Programmierer bedeutet das, dass er sein Programm schön im Hintergrund
weiterlaufen lassen kann.
Für einen User verschwindet das Programm von der Bildoberfläche und wird unsichtbar.
Oder?
Welcher User würde einen Prozess abschießen oder beenden, der „SYS128“ heißt?
Und das ist der Trick daran. Deshalb haben wir unserem Programm einen so wohl
klingenden Namen wie „SYS128“ gegeben.
Ein User würde Angst haben sein System zum Absturz zu bringen, denn nur die
wenigsten User kennen ihre eigenen Prozesse, welche im Hintergrund mitlaufen.

*********************************************************************

Wie funktioniert aber nun das Ganze?

Schauen wir uns noch mal die paar Programmzeilen an:

Option Explicit

Private Sub Command1_Click()
  App.TaskVisible = False
  Me.Visible = False
  Timer1.Enabled = True
End Sub

Private Sub Form_Load()
  Timer1.Enabled = False
  Timer1.Interval = 3000
End Sub

Private Sub Timer1_Timer()
  Timer1.Enabled = False
  App.TaskVisible = True
  Me.Visible = True
End Sub

*********************************************************************
Option Explicit : bedeutet: Es müssen alle verwendeten Variablen definiert werden.
                            Somit kann man vermeiden, dass man ungültige Variablen verwendet,
                            was zu einem unkontrollierten Verhalten des Programms führen kann.
                            Dieses Programm kommt zwar gänzlich ohne Variablen aus,
                            man sollte sich jedoch angewöhnen, dies als erste Programmzeile
                            seiner eigenen Programme zu schreiben.

Private Sub Command1_Click(): bedeutet: Dies ist ein Programm, welches ausgeführt
                            wird, sobald jemand auf den CommandButton mit der Bezeichnung
                            „Command1“ klickt. Das Programm endet bei „End Sub“.

App.TaskVisible = False: bedeutet: App ist unser Basicprogramm (Abkürzung für
                            application). TaskVisible ist eine Eigenschaft unseres Programms,
                            welche auf den Boolschen Wert True oder False gesetzt werden kann.
                            Wird dieser Wert auf „False“ gesetzt, dann verschwindet das Programm
                            im Taskmanager in der Rubrik „Anwendungen“. Bei „True“ erscheint
                            das Programm wieder und wird im Taskmanager angezeigt.

Me.Visible = False: bedeutet: „Me“ bezeichnet unser Programm. Die Éigenschaft „Visible“
                            kann ebenfalls auf „True“ bzw. „False“ gesetzt werden.
                            Wird sie auf „False“ gesetzt, dann verschwindet das Programm vom Desktop
                            und von der Taskleiste. Bei „True“ erscheint das Programm wieder.

Timer1.Enabled = True: bedeutet: Der Timer des Programms wird aktiviert.

End Sub: bedeutet: s. -> Erklärung bei -> Private Sub Command1_Click()

Private Sub Form_Load(): bedeutet: Dies ist ein Unterprogramm, welches beim Starten des
                            Hauptprogramm automatisch gestartet wird (so eine Art Autostart).

Timer1.Enabled = False: bedeutet: Der Timer wird deaktiviert

Timer1.Interval = 3000: bedeutet: Das Timerintervall wird auf 3000 ms gesetzt, d.h.
                             alle 3 Sekunden wird das Timerunterprogramm „Private Sub
                             Timer1_Timer()“ aufgerufen, sofern der Timer1.Enabled auf true gesetzt
                             wird. Bei False wird der Timer nicht aufgerufen.

End Sub: bedeutet: Ende des Unterprogramms Sub Form_Load()

Private Sub Timer1_Timer(): bedeutet: Dieses Programm wird aufgerufen, sobald das.
                             Timer1-Interval abgelaufen ist.

Timer1.Enabled = False: bedeutet: Der Timer des Programms wird deaktiviert.

App.TaskVisible = True: bedeutet: Erklärung bei -> Private Sub Command1_Click()

Me.Visible = True: bedeutet: Erklärung bei -> Private Sub Command1_Click()

End Sub: bedeutet: s. -> Erklärung bei -> Private Sub Command1_Click()

*********************************************************************

Man kann dieses Programm verwenden, um seine eigenen Applikationen im Hintergrund
mitlaufen zu lassen.
Dies hier soll kein Tutorial sein, um zu lernen, wie man einen Virus oder einen Trojaner
programmiert, obwohl das eine oder andere Programm für solche Zwecke
missbraucht werden könnte!

*********************************************************************

Ein Computer-Virus ist ein Programm, welches sich an andere Programme anhängt
und jedes Mal gestartet wird, wenn das Hauptprogramm gestartet wird. Es reproduziert
sich und infiziert weitere Programme, manchmal kontrolliert, manchmal unkontrolliert,
ähnlich wie sein Biologischer Verwandter. Ein Virus kann auf sämtliche Vorgänge
im PC Zugriff nehmen.

Ein Trojaner ist im Gegensatz zu einem Virus ein, ohne Wirtsprogramm, laufendes
selbständiges Programm. Dieses Programm wird jedes Mal gestartet, wenn der Rechner
hochgefahren wird und läuft unsichtbar im Hintergrund mit. Das Programm meldet
sich per Internetverbindung bei seinem Programmierer. Der wiederum ist dann in der
Lage, den PC auszuspionieren und diesen sogar fernzusteuern.

Ein Computerwurm ist eine Mischung aus Virus und Trojaner und verbreitet sich selbständig
über Computernetzwerke und übers Internet. Er kriecht wie ein Wurm durch’s Netz.

*********************************************************************

Dies war eine sehr ausführliche Beschreibung eines Visual Basic Programms.
Ich werde bei zukünftgen Programmen nicht mehr ganz so ausführlich darauf
eingehen, wie man Programme erstellt, da man sich als Programmierer gewisse
Grundkenntnisse beim Programmieren aneignen muss.

 

E-Mail Kontakt


Visual Basic


Zurück zur Hauptseite