|
You last visited: Today at 12:17
Advertisement
exe datei mit anderen parametern speichern
Discussion on exe datei mit anderen parametern speichern within the .NET Languages forum part of the Coders Den category.
08/30/2015, 19:59
|
#1
|
elite*gold: 0
Join Date: Aug 2015
Posts: 8
Received Thanks: 1
|
exe datei mit anderen parametern speichern
Hallo folgendes Problem:
Ich möchte eine ".exe" - Datei abspeichern die eine andere überschreiben soll (Dateien bis auf ein Parameter gleich), die zu überschreibende ".exe" - Datei hat schon einen vollständigen Code.
Mit dem überschreiben der Datei möchte ich das ändern einiger Parameter erreichen.
Beispiel:
- Bei Datei 1 ( Zu überschreibende Datei ) gibt es ein String der den Wert "Test" trägt
- Diesen Wert kann ich per Buttonclick abfragen wenn ich die Datei 1 öffne und dort auf den richtigen Button klicke.
- Die Datei 2 soll nun die zu überschreibende Datei mit einem in Datei 2 eingestellten Wert (Wert = "Klappt") überschreiben.
- Der Wert den ich per Button abfrage sollte jetzt in Datei 1 "Klappt" sein.
d.h. Ich möchte einige Werte die ich vorher dort eingeben habe "dauerhaft übergeben", es soll jedoch nicht über eine externe Datei (".ini" o.ä. funktionieren)
|
|
|
08/30/2015, 21:15
|
#2
|
elite*gold: 0
Join Date: Feb 2009
Posts: 1,137
Received Thanks: 573
|
Was du suchst ist das ändern von Ressourcen so wie es der Res Hacker macht, oder irre ich mich da?
|
|
|
08/31/2015, 01:04
|
#3
|
elite*gold: 192
Join Date: May 2009
Posts: 2,227
Received Thanks: 3,262
|
Nochmal zum Verständnis. Du möchtest also die Zieldatei patchen?
- Datei_1.exe | value(string) = "test" | msgbox(value) → "test"
- Datei_1.exe patchen
- Datei_1.exe | value(string) = "klappt" | msgbox(value) → "klappt"
|
|
|
08/31/2015, 13:06
|
#4
|
elite*gold: 2932
Join Date: Oct 2009
Posts: 6,966
Received Thanks: 1,097
|
wenn das ziel eine .Net assembly ist dann kann man sowas recht einfach umsetzen
|
|
|
08/31/2015, 13:18
|
#5
|
elite*gold: 0
Join Date: Aug 2015
Posts: 8
Received Thanks: 1
|
Quote:
Originally Posted by Logtetsch
Nochmal zum Verständnis. Du möchtest also die Zieldatei patchen?
- Datei_1.exe | value(string) = "test" | msgbox(value) → "test"
- Datei_1.exe patchen
- Datei_1.exe | value(string) = "klappt" | msgbox(value) → "klappt"
|
Ja ich habe 2 Projekte mit VB erstellt nun möchte ich das wenn man bei Projekt 1 die Textbox verändert & auf speichern drückt, man die exe von Projekt 2 überschreibt und die nun immernoch funktioniert allerdings den Wert klappt statt test hat (wenn man klappt in die Textbox bzw string geschrieben hat)
also den Vorgang die Datei_1.exe von string test über patchen zu string klappt zu bringen allerdings über Datei_2.exe die das ganze patchen soll in der man die Werte festlegen kann
____
Edit:
Ich habe einen Code um das ganze zu erreichen:
Code:
Dim s As New SaveFileDialog
FileOpen(1, Application.StartupPath & "\Zuüberschreibende.exe", OpenMode.Binary, OpenAccess.ReadWrite, OpenShare.Default)
Zuüberschreiben = Space(LOF(1))
FileGet(1, Zuüberschreiben)
FileClose(1)
FileOpen(1, s.FileName & ".exe", OpenMode.Binary, OpenAccess.ReadWrite, OpenShare.Default)
FilePut(1, Zuüberschreiben & TextBox1.Text & TextBox2.Text)
FileClose(1)
jedoch weiß ich nicht wie das ganze Funktioniert ( Was wird in der zu überschreibenden Datei geändert?
Wie kann ich damit erreichen dass ein bestimmter string den Wert der Textbox1 annimmt und ein anderer string den Wert von textbox2
|
|
|
08/31/2015, 13:33
|
#6
|
elite*gold: 67
Join Date: Aug 2014
Posts: 1,323
Received Thanks: 928
|
Da will wohl wer die Credits mit seinem Namen neu beschriften.
|
|
|
08/31/2015, 13:40
|
#7
|
elite*gold: 0
Join Date: Aug 2015
Posts: 8
Received Thanks: 1
|
Quote:
Originally Posted by Xio.
Da will wohl wer die Credits mit seinem Namen neu beschriften.
|
ich besitze beide Projekte und beide von mir erstellt,
Fremde Credits könnte man mit einem Hex Editor ändern was ich ja nicht vor habe dafür bräuchte ich kein extra Programm, die Benutzer meines Projektes sollen nur später Werte an die .Exe-Datei meines anderen Projektes weiter geben, können hinzugefügt werden oder geändert werden das spielt keine Rolle
|
|
|
08/31/2015, 15:01
|
#8
|
elite*gold: 2932
Join Date: Oct 2009
Posts: 6,966
Received Thanks: 1,097
|
kannst du mal zwei test dateien bereitstellen mit denen das ganze umgesetzt werden soll? sie brauchen ja sonst keine funktion zu haben.
|
|
|
09/01/2015, 15:29
|
#10
|
elite*gold: 0
Join Date: Aug 2015
Posts: 8
Received Thanks: 1
|
Für das überspeichern:
Code:
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim s As New SaveFileDialog
Dim Programm As String
s.ShowDialog()
If s.FileName > "" Then
FileOpen(1, Application.StartupPath & "\Programm2.exe", OpenMode.Binary, OpenAccess.ReadWrite, OpenShare.Default)
Programm = Space(LOF(1))
FileGet(1, Programm)
FileClose(1)
FileOpen(1, s.FileName & ".exe", OpenMode.Binary, OpenAccess.ReadWrite, OpenShare.Default)
FilePut(1, TextBox1.Text & ":" & TextBox2.Text & ":" & TextBox3.Text & ":" & TextBox4.Text & ":" & TextBox5.Text)
FileClose(1)
MsgBox("Fertig")
End If
End Sub
End Class
Für das lesen:
Code:
Public Class Form1
Public gesamtewerte As String
Public wert1 As String = "Test1"
Public wert2 As String = "Test2"
Public wert3 As String = "Test3"
Public wert4 As String = "Test4"
Public wert5 As String = "Test5"
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
FileOpen(1, Application.ExecutablePath, OpenMode.Binary, OpenAccess.Read, OpenShare.Shared)
gesamtewerte = Space(LOF(1))
FileGet(1, gesamtewerte)
FileClose()
Split(gesamtewerte, ":")
wert1 = gesamtewerte(0)
wert2 = gesamtewerte(1)
wert3 = gesamtewerte(2)
wert4 = gesamtewerte(3)
wert5 = gesamtewerte(4)
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
MsgBox("Wert1: " & wert1 & vbCrLf & "Wert2: " & wert2 & vbCrLf & "Wert3: " & wert3 & vbCrLf & "Wert4: " & wert4 & vbCrLf & "Wert5: " & wert5, MsgBoxStyle.OkOnly)
End Sub
End Class
Mein Problem im Moment besteht darin, dass das Programm was die Werte laden soll, schon im ungeänderten Zustand falsche Werte anzeigt.
Nach dem ändern bekomme ich auch ein Fehler, beim öffnen der Datei im geänderten Zustand gibt es die Windowsfehlermeldung zurück dass es sich um eine fehlerhafte Datei handelt und diese nicht kompatibel ist.
|
|
|
09/01/2015, 16:32
|
#11
|
elite*gold: 0
Join Date: Sep 2005
Posts: 427
Received Thanks: 87
|
Quote:
|
Mein Problem im Moment besteht darin, dass das Programm was die Werte laden soll, schon im ungeänderten Zustand falsche Werte anzeigt.
|
Was hindert einen daran den Debugger anzuschmeissen und zu überprüfen, woher warum wieso... ? Debuggen gehört auch zum entwickeln, mal mehr mal weniger
|
|
|
09/01/2015, 17:00
|
#12
|
elite*gold: 0
Join Date: Aug 2015
Posts: 8
Received Thanks: 1
|
Quote:
Originally Posted by kissein
Was hindert einen daran den Debugger anzuschmeissen und zu überprüfen, woher warum wieso... ? Debuggen gehört auch zum entwickeln, mal mehr mal weniger 
|
Beide Programme funktionieren (muss man theoretisch nicht debuggen),
Programm 1 läd programm 2 soll Werte ändern und es mit geänderten Werten abspeichern(überschreiben), das funktioniert allerdings nicht im Debugger-modus.
Das Problem was ich habe liegt wahrscheinlich daran dass Programm 1 das Programm 2 nicht richtig überschreibt, so dass Programm 2 das nach dem überschreiben beim Start auch richtig lesen kann.
Allerdings weiß ich dort nicht wo der Fehler liegt und kann dies auch nicht debuggen.
|
|
|
09/01/2015, 19:17
|
#13
|
Moderator
elite*gold: 558
Join Date: Feb 2010
Posts: 6,546
Received Thanks: 1,418
|
Verstehe ich dein Programm richtig:
Du hängst deine Werte hinten an die exe an? Also du überschreibst nicht gezielt Variablen oder Ressourcen der Datei, sondern schreibst einfach ganz hinten hinter deine neuen Werte?
Dann kann ich dir deine Probleme erklären.
Es hat am Anfang falsche Werte, weil es natürlich mit irgendwelchem Code endet und nicht mit deinen Werten. Dazu kommt, dass in der Datei überall irgendwelche Doppelpunkte stecken könnten, die du dann natürlich auch findest.
Nach dem Überschreiben lässt sich das Programm nicht mehr starten, weil Windows natürlich nicht damit klar kommt, dass die exe plötzlich mit "einTollerString123" endet. Ein Programm ist keine Textdatei, da kannst du nicht einfach so etwas hinten anhängen.
Ich würde dir wirklich empfehlen, mach irgendeine Datei in die du deine Werte speicherst. Es ist ja völlig egal ob die im selben Ordner liegt oder irgendwo tief im Benutzerprofil versteckt ist. Wenn du Spass dran hast kannst du auch die Registry dafür nehmen. Aber dieses "Variablen überschreiben" ist die Mühe kaum wert, mir will auch grade kein sinnvoller Einsatz dafür einfallen.
Ignoriert diesen Beitrag einfach, wenn ich falsch liege. Mit Visual Basic kenne ich mich überhaupt nicht aus.
|
|
|
09/01/2015, 19:53
|
#14
|
elite*gold: 0
Join Date: Sep 2005
Posts: 427
Received Thanks: 87
|
Keine Ahnung wie das in VB lautet aber ich würde es folgendermassen angehen:
- Wert an einen extern Server übergeben für eine "bedinge Kompilierung des Inhalts mit dem neuen Wert"
- die zu ersetzende Exe umbennen (damit es keine probleme gibt, falls sie gerade ausgeführt wird)
- neue Assembly in das Verzeichnis der alten reinkopieren
- neue Assembly ausführen lassen
- neue Assembly löscht die alte umbenannte Assembly (sollte sie gerade ausgeführt werden, löschen sobald diese beendet ist).
Fulltilt hat damals ihren pokerclient auf diese art an die user ausgegeben, somit war der jeweilige affiliate code in die assembly integriert.
|
|
|
09/01/2015, 21:29
|
#15
|
elite*gold: 0
Join Date: Aug 2015
Posts: 8
Received Thanks: 1
|
Quote:
Originally Posted by ComputerBaer
Verstehe ich dein Programm richtig:
Du hängst deine Werte hinten an die exe an? Also du überschreibst nicht gezielt Variablen oder Ressourcen der Datei, sondern schreibst einfach ganz hinten hinter deine neuen Werte?
Dann kann ich dir deine Probleme erklären.
Es hat am Anfang falsche Werte, weil es natürlich mit irgendwelchem Code endet und nicht mit deinen Werten. Dazu kommt, dass in der Datei überall irgendwelche Doppelpunkte stecken könnten, die du dann natürlich auch findest.
Nach dem Überschreiben lässt sich das Programm nicht mehr starten, weil Windows natürlich nicht damit klar kommt, dass die exe plötzlich mit "einTollerString123" endet. Ein Programm ist keine Textdatei, da kannst du nicht einfach so etwas hinten anhängen.
Ich würde dir wirklich empfehlen, mach irgendeine Datei in die du deine Werte speicherst. Es ist ja völlig egal ob die im selben Ordner liegt oder irgendwo tief im Benutzerprofil versteckt ist. Wenn du Spass dran hast kannst du auch die Registry dafür nehmen. Aber dieses "Variablen überschreiben" ist die Mühe kaum wert, mir will auch grade kein sinnvoller Einsatz dafür einfallen.
Ignoriert diesen Beitrag einfach, wenn ich falsch liege. Mit Visual Basic kenne ich mich überhaupt nicht aus.
|
Ja theoretisch würde das klappen aber ich bin dabei ein Server-Client-Tool zu erstellen.
Ich bin der Server und kann natürlich im Projekt selbst den Clienten seine Connectionsettings voreinstellen.
Das Problem ist, wenn ich das Programm releasen möchte sollte der Zukünftige Server-User seine Client-User Connectionsettings einstellen können.
|
|
|
 |
|
Similar Threads
|
VB Datei Speichern
11/06/2013 - .NET Languages - 1 Replies
Hallo habe ein kleines Problem undzwar habe ich einen Taschenrechner programmiert und jetzt soll man den verlauf in einer txt datei speichern können und dann wieder aufrufen können habe dafür 2 extra buttons eingefügt nun weiß ich nicht welche codes ich brauch danke schonmal im voraus
|
[TuT]Datei in einer anderen Datei verstecken
05/01/2013 - Tutorials - 14 Replies
In diesem Tutorial werde ich beschreiben wie man eine beliebige Datei in einer anderen "verstecken" kann. Als Zieldatei kann dafür jede Datei jeglicher Art verwendet werden. Der 1337-Coolness zu liebe verwenden wir aber lieber Bild- , oder auch Musikdateien.
Vorerst möchte ich allerdings erklären, dass die Datei nicht wirklich "versteckt" wird sondern nur die beiden Dateien zusammengefügt werden und der Header angepasst wird. Somit ist diese Methode als "unsicher" zu bezeichnen...spassig ist...
|
Hilfe in Cinema 4d ? Datei Speichern mit transparentem hintergrund Speichern ?
09/29/2011 - elite*gold Trading - 10 Replies
^this.
Melde euch bei mir, wenn es klappt, bekommt ihr bisschen egold.
|
Datei Speichern
04/06/2010 - AutoIt - 3 Replies
Hi,
Wie Speichert man eine Datei in AutoIt z.B in
AutoIt.txt?
Ich habs schon mal gewusst kommt mir so vor :D
Sorry wenn vllt die Frage hier schon mal war!
|
All times are GMT +1. The time now is 12:18.
|
|