Du bist nicht angemeldet.

Werbeanzeige

1

01.11.2014, 18:54

Game Exe binär eingelesen und Gespeichert, lässt sich nicht öffnen

Hey Leute.

Mein Problem ist es, das meine Exe die ich binär eingelesen habe und wieder gespeichert habe nicht funktioniert.


Alle anderen Dateien werden ohne Probleme kopiert nur die Exe macht Probleme und die Dll.

Zu meiner Frage:

Kann man die Exe Datei einfach binär einlesen? und die Dll Datei auch?


Die größe von beiden passt aber starten lässt sich das Spiel nicht mehr.

Gruß Leri

BlueCobold

Community-Fossil

Beiträge: 10 890

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

2

01.11.2014, 18:59

Man kann. Ich schätze aber, dass Du irgendwas falsch gemacht und Bytes verändert hast dabei.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

3

01.11.2014, 19:01

Ich schaue es mir gleich nochmal an, kann sein das eventuell bei der letzten verschiebung was daneber gegangen ist.

Würde mir wohl nicht aufgefallen sein, weil alle bmp dateien richtig kopiert werden, was aber wahrscheinlich nicht die ganze datei unlesbar macht beim bmp.


Melde mich dann gleich nochmal

xardias

Community-Fossil

Beiträge: 2 777

Wohnort: Santa Clara, CA

Beruf: Software Engineer

  • Private Nachricht senden

4

01.11.2014, 19:22

Hast du daran gedacht die Dateien im binary mode zu oeffnen? http://www.cplusplus.com/reference/ios/ios_base/openmode/

birdfreeyahoo

Alter Hase

Beiträge: 766

Wohnort: Schorndorf

Beruf: Junior Software Engineer

  • Private Nachricht senden

5

01.11.2014, 19:25

Was ist da genau der Unterschied?

6

01.11.2014, 19:42

Ich habe es mir jetzt nochmal angeschaut und die sind definitiv genauso groß auf das byte genau XD

Wie gesagt die bilddateien lassen sich ohne probleme öffnen

Bei der Exe gehts nicht.

und die SDL.dll klappt wohl auch nicht

7

01.11.2014, 19:44

Muss mich entschuldigen, hattet recht, anscheinend hatte ich bei einer funktion die len+1 geschrieben und somir wurde 1 byte vertauscht.

Was mich nur wunderte, warum die bilder dann noch lesbar waren.

Ich danke euch für eure hilfe :)

8

01.11.2014, 20:08

Dateien kannst du auch mit der Funktion 'rename' umbenennen und verschieben.

9

01.11.2014, 20:43

Was ist da genau der Unterschied?

Im Wesentlichen die Behandlung von Newlines.
Zum Beispiel Windows: Im Textmode wird \n in Strings als \r\n gespeichert.
"Theory is when you know something, but it doesn’t work. Practice is when something works, but you don’t know why. Programmers combine theory and practice: Nothing works and they don’t know why." - Anon

Sacaldur

Community-Fossil

Beiträge: 2 332

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

10

01.11.2014, 21:52

Warum sich die Grafiken noch öffnen ließen

Die verschiedenen Dateien befinden sich in bestimmten Formaten, die eingehalten sein müssen, damit die sich wie gewünscht öffnen oder ausführen lassen. Solange das Formt eingehalten wird, können also grundsätzlich beliebig viele Änderungen vorgenommen werden.
Wenn der Fehler die Bilddateien nur so geringfügig verändert hat, dass bspw. unwichtige oder leere Headerinformationen, die Bilddaten selbst (#FFFFFF -> #FFFFFE) angepasst oder leere Bytes vertauscht wurden, dann ließe sich die Bilddatei immernoch öffnen. Allerdings kann eine Änderung an der gleichen Stelle in einem anderen Dateiformat dafür sorgen, dass das Format nicht mehr eingehalten wurde oder dass es zu, für Windows erkennbaren, Inkonsistenzen kommt.
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

Werbeanzeige