Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Maschienencode? (https://www.delphipraxis.net/56877-maschienencode.html)

cruso 12. Nov 2005 16:49


Maschienencode?
 
Hi!

Ich habe schon in vielen anderen Delphi-Foren nach einem Tipp zu einem softwarebasierenden Kopierschutz gesucht, doch man hat mir unter anderem gesagt, dass man diesen, indem man das Programm im Maschienencode verändert umgehen kann.
Da stellt sich mir die Frage: Wie kann ich ein in Delphi geschriebenes Programm im Maschienencode ansehen und verändern?


MfG
Cruso

Jens Schumann 12. Nov 2005 16:55

Re: Maschienencode?
 
Hallo,
z.B. mit einem HexEditor

3_of_8 12. Nov 2005 16:56

Re: Maschienencode?
 
Also wenn du den Microcode meinst: Den kannst du weder ansehen noch verändern.

Aber falls du Assembler meinst: Dazu brauchst du einen Disassembler (AFAIK).

Daniel G 12. Nov 2005 17:16

Re: Maschienencode?
 
Zum Beispiel mit IDA Pro oder W32 Dasm. Ohne fundierte Assembler - Kenntnisse nützen dir diese Dinge aber herzlich wenig...

Tubos 12. Nov 2005 17:17

Re: Maschienencode?
 
3_of_8, was meinst du mit Mikrocode? Wenn du das Mikroprogramm in CISC-Prozessoren meinst: Das hat damit überhaupt nichts zu tun. Und die Prozessoren in heutigen PCs haben sowas gar nicht.
Maschinencode kann man sich wie bereits erwähnt mit jedem Hexeditor ansehen.

3_of_8 12. Nov 2005 17:20

Re: Maschienencode?
 
Den prozessorinternen Code. Aber ich bin mir gar nicht so sicher. Ich hätte nichts sagen sollen, ich kenne mich eh nicht aus. :wall:

faux 12. Nov 2005 17:24

Re: Maschienencode?
 
Zitat:

Zitat von 3_of_8
Den prozessorinternen Code.

Das ist imho doch Assembler... Und den kannst du sehr wohl ansehen. Mit jedem Debugger zB. In Delphi ist der auf F12, wenn ich nicht irre.

Neutral General 12. Nov 2005 17:25

Re: Maschienencode?
 
Ne Assembler ist auch nur ne Programmiersprache wenn mich nicht alles täuscht ^^
Im Prozesser gibts nur strom und kein Strom (0/1) ;)

Trotzdem ist das was du suchst mit Sicherheit ein Hex-Editor ;)

Haut mich wenn ich wieder Unsinn reden sollte :mrgreen:

faux 12. Nov 2005 17:31

Re: Maschienencode?
 
Zitat:

Zitat von Neutral General
Ne Assembler ist auch nur ne Programmiersprache wenn mich nicht alles täuscht ^^
Im Prozesser gibts nur strom und kein Strom (0/1)

Aber jeder Befehl, den der Prozessor Umsetzen kann, ist in Assembler einem Mnemnonic zugeordnet.
Aber ich denke, das alles kannst du ja deinem eigenem Thread entnehmen:
http://www.delphipraxis.net/internal...ct.php?t=36759 :D
MaBuSE hat das in diesem Post sehr gut erklärt, finde ich.

3_of_8 12. Nov 2005 17:31

Re: Maschienencode?
 
Ich habe mich bei meinen ersten Post auf ein Buch von René Mayer bezogen, über BlitzBasic.

Muetze1 12. Nov 2005 18:37

Re: Maschienencode?
 
Zitat:

Zitat von Tubos
3_of_8, was meinst du mit Mikrocode? Wenn du das Mikroprogramm in CISC-Prozessoren meinst: Das hat damit überhaupt nichts zu tun. Und die Prozessoren in heutigen PCs haben sowas gar nicht.
Maschinencode kann man sich wie bereits erwähnt mit jedem Hexeditor ansehen.

Dir ist schon bewusst, das in deinem Pentium 4 eine Umsetzung der x86 Opcodes erfolgt in Zwischenform die von dem internen RISC ähnlichen Kern verarbeitet wird. Dir sind vllt. schon die MicroCode Updates im BIOS aufgefallen für die Intel Prozessoren.

Aber das ist OT...

Daniel Schuhmann 12. Nov 2005 18:40

Re: Maschienencode?
 
Zitat:

Zitat von 3_of_8
Den prozessorinternen Code. Aber ich bin mir gar nicht so sicher. Ich hätte nichts sagen sollen, ich kenne mich eh nicht aus. :wall:

Microcodes oder Micro-Operations finden bei der Netburst-Architektur (Intel Pentium 4) Anwendung. Sie werden im sogenannten Trace Cache gespeichert. Es handelt sich dabei um dekodierte x86-Befehle, mit denen der Prozessor direkt arbeiten kann. Durch die Microcodes ist der L1-Cache aufgeteilt in den Trace-Cache und in den klassischen Daten-Cache, der dadurch kleiner ausfallen kann. Der Pentium 4 unterstützt 12000 solcher Microcodes, der Datencache beträgt 8 KByte (Northwood) bzw 16 KByte (Prescott).
Mit dem eigentlichen Assembler- oder Maschinencode, den Delphi und andere Compiler erzeugen, hat das ganze aber nichts zu tun, das sind Vorgänge, die sich alleine im Innern der CPU abspielen.

Zitat:

Zitat von faux
[...]In Delphi ist der auf F12, wenn ich nicht irre.

Ja, und nicht nur da. Die Taste F12 ist vom System her dem Debugger vorbehalten, das Unterbrechen des Programms mit F12 geht in jedem anderen Debugger (dem vom Visual Studio z.B.) genauso.

//Edit: @Mütze, hoppla das hat sich jetzt überschnitten.

Daniel


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:26 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz