Maschinencode => PureBasic
weil der PBCompiler aus bestimmten Code-Fragmenten immer bestimmten ASM-Output erzeugen wird
Bin mir aber nicht sicher, ob man sich immer daran orientieren kann. Es kommt auch drauf an, was der Programmierer im ursprünglichen Zustand so für 'nen Code hatte. Wenn der total wirr und unlogisch ist, ist auch der ASM-Output wirr und unlogisch. Und Sachen wie Funktions-Calls und Berechnungen werden in anderen Sprachen auch nicht großartig anders in Maschinencode umgesetzt wie in PB, daher bezweifel ich wirklich, ob das Rückübersetzen SOOO viel wesentlich einfacher sein soll als in C etc.
Und was hat das mit den Libs zu tun?? Wenn sie direkt eingebunden werden, liegen sie ebenfalls in Maschinencode vor, und wenn es DLLs sind, dann sind es halt DLLs. Wie stützt das jetzt die Aussage?
Bin mir aber nicht sicher, ob man sich immer daran orientieren kann. Es kommt auch drauf an, was der Programmierer im ursprünglichen Zustand so für 'nen Code hatte. Wenn der total wirr und unlogisch ist, ist auch der ASM-Output wirr und unlogisch. Und Sachen wie Funktions-Calls und Berechnungen werden in anderen Sprachen auch nicht großartig anders in Maschinencode umgesetzt wie in PB, daher bezweifel ich wirklich, ob das Rückübersetzen SOOO viel wesentlich einfacher sein soll als in C etc.
Und was hat das mit den Libs zu tun?? Wenn sie direkt eingebunden werden, liegen sie ebenfalls in Maschinencode vor, und wenn es DLLs sind, dann sind es halt DLLs. Wie stützt das jetzt die Aussage?


ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Lib A in Maschinencode wird immer gleich aussehen.
Das es einfacher geht, ist doch einfach nur logisch. Oder haste Dir noch nie eine mit PB erstellte Exe angesehen
Da findeste z.B. pb_toolbar_id usw.
Das es einfacher geht, ist doch einfach nur logisch. Oder haste Dir noch nie eine mit PB erstellte Exe angesehen
Da findeste z.B. pb_toolbar_id usw.

PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
durch den optimierungsvorgang ist diese menge an "bestimmten code-segmenten" verdammt schwindelerregend groß, weil ja unterschiedliche befehlskombinationen unterschiedlich optimiert werden.
das was ZeHa über unterschiedlichen Stil sagt, kommt noch dazu.
also, wenn du eine 57-Teraquad-Datenbank hast, wo alle möglichen code-kombinationen mit allen entsprechenden assemblerumsetzungen drinstehen, und du ein Null-Grav-Erzeuger hast, in dem die Zeit schnell genug abläuft, um die hundert Jahre rechenzeit in wenigen minuten durchzujechtern, dann kannst du den Code präzise zurückholen....
...aber immer noch ohne entsprechende variablennamen.. :p
das was ZeHa über unterschiedlichen Stil sagt, kommt noch dazu.
also, wenn du eine 57-Teraquad-Datenbank hast, wo alle möglichen code-kombinationen mit allen entsprechenden assemblerumsetzungen drinstehen, und du ein Null-Grav-Erzeuger hast, in dem die Zeit schnell genug abläuft, um die hundert Jahre rechenzeit in wenigen minuten durchzujechtern, dann kannst du den Code präzise zurückholen....
...aber immer noch ohne entsprechende variablennamen.. :p
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Wer spricht von Präzise?
Nur PB-Syntax hab ich gesagt, das damit auch InlineASM usw. bei ist, ist ja wohl klar.
Nur PB-Syntax hab ich gesagt, das damit auch InlineASM usw. bei ist, ist ja wohl klar.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

das damit auch InlineASM usw. bei ist, ist ja wohl klar.
???
???


ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Wenns dann so aussieht:
Code ist nicht von mir
ist es immer noch PB-Syntax
Code: Alles auswählen
Enumeration
#B_EQUAL
#B_GREATER
#B_LESS
EndEnumeration
Procedure Compare(A,B)
If A=B:ProcedureReturn #B_EQUAL:EndIf
If A>B:ProcedureReturn #B_GREATER:EndIf
If A<B:ProcedureReturn #B_LESS:EndIf
EndProcedure
Procedure Test()
Eax=MessageBox_(00000000,"Test ?","Test",4)
Ebx=Eax
result=Compare( Ebx,6)
If result=#B_LESS Or result=#B_GREATER: Goto Label0:EndIf
Eax=MessageBox_(00000000,"Cool","",00000000)
Label0:
Eax!Eax
; ERROR: POP Ebx
ProcedureReturn Eax
EndProcedure
Test()

ist es immer noch PB-Syntax
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
Sorry aber ich find das ist totaler Schwachsinn. Man muß sich schon entscheiden, entweder übersetze ich den Maschinencode ZURÜCK in PB oder ich lasse ihn gleich als Maschinencode stehen. Aber wozu so einen Mischmasch? Wem bringt das was? Und vor allem: wo setzt Du da die Grenze? Wie willst Du festlegen, was letzten Endes als PB und was als ASM Code dastehen soll? Und egal wie Du die Grenze festlegst, kein Mensch wird damit zufrieden sein, weil jeder andere Ansprüche hat. Also wenn schon Maschinencode nach PB, dann auch wirklich nach PB.
Zum Thema insgesamt: denke auch, daß man mit so einem rückübersetzten Code nix anfangen kann. Allein schon eben, weil sämtliche Variablennamen und Funktionsnamen fehlen. Da wird das Verständnis schon bei 'nem 1000 Zeilen Programm 'ne üble Sache... dazu kommt übrigens, daß man sich seinen Code ja meistens in mehrere Files aufteilt - nach einer gewissen Logik natürlich. Wenn ich nun aber ein einziges PB-File habe, das aus 20.000 Zeilen besteht und in dem ich keine Chance habe, auch nur einen einzigen Variablennamen zu identifizieren - damit kann ich dann sicherlich nix anfangen. Bei Java geht das noch einigermaßen, da sind die Dateien ja schon automatisch nach Klassen getrennt. Aber auch hier wird's kein leichtes Vergnügen.
Zum Thema insgesamt: denke auch, daß man mit so einem rückübersetzten Code nix anfangen kann. Allein schon eben, weil sämtliche Variablennamen und Funktionsnamen fehlen. Da wird das Verständnis schon bei 'nem 1000 Zeilen Programm 'ne üble Sache... dazu kommt übrigens, daß man sich seinen Code ja meistens in mehrere Files aufteilt - nach einer gewissen Logik natürlich. Wenn ich nun aber ein einziges PB-File habe, das aus 20.000 Zeilen besteht und in dem ich keine Chance habe, auch nur einen einzigen Variablennamen zu identifizieren - damit kann ich dann sicherlich nix anfangen. Bei Java geht das noch einigermaßen, da sind die Dateien ja schon automatisch nach Klassen getrennt. Aber auch hier wird's kein leichtes Vergnügen.


ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Was meinste wie Froh ich bin, das es keinen Sinn macht 

PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
