Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > .NET Languages
You last visited: Today at 12:17

  • Please register to post and access all features, it's quick, easy and FREE!

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.

Reply
 
Old   #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)
codetype1 is offline  
Old 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?
warfley is offline  
Old 08/31/2015, 01:04   #3
 
Logtetsch's Avatar
 
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"
Logtetsch is offline  
Old 08/31/2015, 13:06   #4
 
tolio's Avatar
 
elite*gold: 2932
The Black Market: 169/1/0
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
tolio is offline  
Old 08/31/2015, 13:18   #5
 
elite*gold: 0
Join Date: Aug 2015
Posts: 8
Received Thanks: 1
Quote:
Originally Posted by Logtetsch View Post
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
codetype1 is offline  
Old 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.
Xio. is offline  
Old 08/31/2015, 13:40   #7
 
elite*gold: 0
Join Date: Aug 2015
Posts: 8
Received Thanks: 1
Quote:
Originally Posted by Xio. View Post
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
codetype1 is offline  
Old 08/31/2015, 15:01   #8
 
tolio's Avatar
 
elite*gold: 2932
The Black Market: 169/1/0
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.
tolio is offline  
Old 08/31/2015, 20:23   #9
 
elite*gold: 0
Join Date: Aug 2015
Posts: 8
Received Thanks: 1
Quote:
Originally Posted by tolio View Post
kannst du mal zwei test dateien bereitstellen mit denen das ganze umgesetzt werden soll? sie brauchen ja sonst keine funktion zu haben.
VT Links (falls nötig, source ist ja dabei):
Programm 1:




Programm 2:

Attached Files
File Type: rar Programm1.rar (90.5 KB, 4 views)
File Type: rar Programm2.rar (99.7 KB, 4 views)
codetype1 is offline  
Old 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.
codetype1 is offline  
Old 09/01/2015, 16:32   #11
 
kissein's Avatar
 
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
kissein is offline  
Old 09/01/2015, 17:00   #12
 
elite*gold: 0
Join Date: Aug 2015
Posts: 8
Received Thanks: 1
Quote:
Originally Posted by kissein View Post
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.
codetype1 is offline  
Old 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.
ComputerBaer is offline  
Old 09/01/2015, 19:53   #14
 
kissein's Avatar
 
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.
kissein is offline  
Old 09/01/2015, 21:29   #15
 
elite*gold: 0
Join Date: Aug 2015
Posts: 8
Received Thanks: 1
Quote:
Originally Posted by ComputerBaer View Post
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.
codetype1 is offline  
Reply


Similar Threads 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.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.