Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
JkerryZ JLI Master Trainee
Anmeldedatum: 18.05.2004 Beiträge: 575 Wohnort: Wolfsburg Medaillen: Keine
|
Verfasst am: 22.01.2005, 17:37 Titel: Kann man Assembler-Code in C++-Code umzuwandeln?? |
|
|
Hallo,
Gibt es eine Möglichkeit Assembler-Code in C++-Code umzuwandeln?
Gruß
JkerryZ |
|
Nach oben |
|
|
Patrick Dark JLI Master
Anmeldedatum: 25.10.2004 Beiträge: 1895 Wohnort: Düren Medaillen: Keine
|
Verfasst am: 22.01.2005, 17:43 Titel: |
|
|
nein.
Assembler ist zu Komplex und auf LowLevel basierend, das man es nicht in einen Ordentlichen C oder C++ Code umwandeln kann.
Dein C++ Code wird bevor er zu einer *.exe gelinkt wird sowieso erst in Assembler umgewandelt vom compiler.
Der Umgekehrte weg ist jedoch unmöglich! Du kannst aus einer *.exe den Assembler code bekommen, auch von Spielen wie Half-Life 2 und co, jedoch ist das disassemblen illegal.
Ich hatte vor 3 jahren mal versucht einen Translator für Assembler->C geschrieben, der versuchen sollte ein HelloWorld-Assemblerprogramm in ein C Programm translieren sollte. Konnte man jedoch knicken, der Code war grottig und je nachdem wie Du Dein Assemblerprogramm gecodet hast, ist es schon unmöglich alles zu berücksichtigen.
Brainfuck2C ist da einfacher _________________ 'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ] |
|
Nach oben |
|
|
GreveN JLI Master
Alter: 38 Anmeldedatum: 08.01.2004 Beiträge: 901 Wohnort: Sachsen - Dresden Medaillen: Keine
|
Verfasst am: 22.01.2005, 18:33 Titel: |
|
|
C++-Code sicher nicht, aber einfacher C Code sollte möglich sein...
Natürlich ist der Code mehr oder weniger unbrauchbar und über den Nutzen lässt sich natürlich streiten...
http://www.jliforum.de/board/viewtopic.php?t=2592 |
|
Nach oben |
|
|
JkerryZ JLI Master Trainee
Anmeldedatum: 18.05.2004 Beiträge: 575 Wohnort: Wolfsburg Medaillen: Keine
|
Verfasst am: 23.01.2005, 08:56 Titel: |
|
|
Gut, Danke erstmal.
Unter dem Link, habe ich mir mal dieses Boomerang Programm geladen. Da gibts aber nur ein Konsolenfenster was einmal aufblitzt. War das bei euch auch so? Oder geht das Programm bei mir nur nicht? |
|
Nach oben |
|
|
Patrick Dark JLI Master
Anmeldedatum: 25.10.2004 Beiträge: 1895 Wohnort: Düren Medaillen: Keine
|
|
Nach oben |
|
|
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 23.01.2005, 10:33 Titel: |
|
|
tja, ist wohl so ein Prog dem man als Parameter die Datei die es umwandeln soll übergeben muss. Es sollte dazu ne Dokumentation geben. _________________ https://jonathank.de/games/ |
|
Nach oben |
|
|
JkerryZ JLI Master Trainee
Anmeldedatum: 18.05.2004 Beiträge: 575 Wohnort: Wolfsburg Medaillen: Keine
|
Verfasst am: 23.01.2005, 11:53 Titel: |
|
|
Ja, irgendsowas muss es wohl sein. Bei Screenshots auf Sourceforge sieht man auch richtige Windowsfenster und nicht so eine Konsole.
Wenn ich das ganze aus der Konsole heraus starte, sagt er nur folgendes:
Zitat: | usage: boomerang [ switches ] <program>
boomerang -h for switch help |
und dann isser wieder im Verzeichnis zurück... |
|
Nach oben |
|
|
C++Builder Senior JLI'ler
Anmeldedatum: 04.10.2003 Beiträge: 235
Medaillen: Keine
|
Verfasst am: 23.01.2005, 14:11 Titel: |
|
|
naja er will das du ihm die .exe übergibst die du decompilieren willst oder -h für die Hilfe
für die Hilfe:
zum decompilieren:
Code: | boomerang.exe progzumdecompilieren.exe
|
Noch nie mit nem Konsolenprogramm was zu tun gehabt? |
|
Nach oben |
|
|
JkerryZ JLI Master Trainee
Anmeldedatum: 18.05.2004 Beiträge: 575 Wohnort: Wolfsburg Medaillen: Keine
|
Verfasst am: 23.01.2005, 15:48 Titel: |
|
|
C++Builder hat Folgendes geschrieben: | Noch nie mit nem Konsolenprogramm was zu tun gehabt? |
Ausser mit meinen eigenen Hello-World-Anwendungen eigentlich nicht
Wenn ich dann zwei exe-Dateien in eine Zeile der Konsole eintippe, nur durch ein Leerzeichen getrennt wie hier im Besipiel, kommt folgende Ausgabe:
Zitat: | ? No Slash in argv[0]! |
Was habe ich denn nun schon wieder falsch gemacht?
Zuletzt bearbeitet von JkerryZ am 23.01.2005, 16:02, insgesamt einmal bearbeitet |
|
Nach oben |
|
|
FH Super JLI'ler
Alter: 36 Anmeldedatum: 16.10.2004 Beiträge: 438
Medaillen: Keine
|
Verfasst am: 23.01.2005, 15:58 Titel: |
|
|
Ich versteh deinen Satz nicht.
Deine Eingabe muss exakt so lauten: Mit der DOS-Konsole in das Verzeichnis von Bomerang wechseln, dann die EXE, die decompiliert werden soll, in das selbe Verzeichnis kopieren, dann:
Code: | boomerang ExeName.exe |
Und nicht vertippen!
Gruß
FH _________________ goto work, send your kids to school
follow fashion, act normal
walk on the pavement, watch T.V.
save for your old age, obey the law
Repeat after me: I am free |
|
Nach oben |
|
|
JkerryZ JLI Master Trainee
Anmeldedatum: 18.05.2004 Beiträge: 575 Wohnort: Wolfsburg Medaillen: Keine
|
Verfasst am: 23.01.2005, 16:09 Titel: |
|
|
Ich habe meinen Satz auch nicht verstanden ich habe ihn mal korrigiert.
Und eigentlich stimmt alles was ich da eintippe.
Ich mach das z.B. so:
Konsole öffnen und dann:
Zitat: | d:
cd Boomerang
boomerang.exe programm.exe
|
Und dann kommt immer diese Meldung:
Zitat: | ? No Slash in argv[0]! |
|
|
Nach oben |
|
|
PeaceKiller JLI Master
Alter: 36 Anmeldedatum: 28.11.2002 Beiträge: 970
Medaillen: Keine
|
Verfasst am: 23.01.2005, 16:34 Titel: |
|
|
probier mal:
Code: | boomerang ./programm.exe |
_________________ »If the automobile had followed the same development cycle as the computer, a Rolls-Royce would today cost $100, get a million miles per gallon, and explode once a year, killing everyone inside.«
– Robert X. Cringely, InfoWorld magazine |
|
Nach oben |
|
|
JkerryZ JLI Master Trainee
Anmeldedatum: 18.05.2004 Beiträge: 575 Wohnort: Wolfsburg Medaillen: Keine
|
Verfasst am: 23.01.2005, 18:02 Titel: |
|
|
PeaceKiller hat Folgendes geschrieben: | probier mal:
Code: | boomerang ./programm.exe |
|
nope, gleicher Fehler... |
|
Nach oben |
|
|
FH Super JLI'ler
Alter: 36 Anmeldedatum: 16.10.2004 Beiträge: 438
Medaillen: Keine
|
Verfasst am: 23.01.2005, 18:47 Titel: |
|
|
Ich hab mal mein gesamtes Wissen ausgepackt und auf dem Boden noch was gefunden :
Code einer Main mit Parametern von Kommandozeile:
CPP: | int main(int argc, char* argv[]) |
Der int ist die Anzahl der Kommandozeilenparameter, argv sind die Parameter.
Jeder EXE wird als erster Paramter (also in argv[0]) ihr eigner Pfad und ihr eigener Name übergeben. Demnach würde bei "? No Slash in argv[0]!" ein Slash im Pfad/Namen fehlen. Das ist entweder ein Fehler in der EXE (nochmal laden???), oder im OS...
Versuch mal folgendes: Kopier alles in ein Verzeichnis, dessen Name kürzer als 9 Zeichen ist. Ansonsten neu laden, wenn dann nicht: kA
Gruß
FH
<edit>
Interessantes Syntaxhighlight... Erstes int geht nicht, zweites geht.
</edit> _________________ goto work, send your kids to school
follow fashion, act normal
walk on the pavement, watch T.V.
save for your old age, obey the law
Repeat after me: I am free |
|
Nach oben |
|
|
Dragon Super JLI'ler
Alter: 38 Anmeldedatum: 24.05.2004 Beiträge: 340 Wohnort: Sachsen Medaillen: Keine
|
Verfasst am: 29.01.2005, 13:07 Titel: |
|
|
schaut doch mal auf der Hompage nach, dort findet man folgendes:
Zitat: | 19. Why do I keep getting some message about "no slash in argv[0]"?
This is fixed in the latest source code, available using CVS. The older binary release is simply looking for a slash (or reverse slash) in the name of the executable, e.g. use ".\boomerang switches..." instead of just "boomerang switches...". Unix users do this automatically, because of the security risk of having the current directory in the path. |
_________________ Nur wenn man ein Ziel sieht, kann man es auch treffen.
___________
Mein Leben, Freunde und die Spieleentwicklung |
|
Nach oben |
|
|
|