Seite 2 von 2

Verfasst: 15.11.2007 20:09
von AND51
Hey Thorium!
Vielen Dank für deine ausführliche Antwort! <)


> Ja das geht. Du kannst ein Register sichern und später wiederherstellen
Ahso... Mit dem Stack habe ich noch nie gearbeitet... aber sieht einfach aus. Und ja, ich weiß, dass man da immer nur was drauf packen und von oben runternehmen kann. :wink:

Kann ich das denn ganz ungefährlich machen? Also z. B. ganz am Anfang einer Prozedur irgendwas pushen, meinen Wert ins EAX Register stecken, die ganze Zeit irgendwelche PB-Befehle ausführen, hier was machen, dort was machen und dann wieder EAX auslesen und den alten Registerinhalt wieder runterholen?
Oder könnte es durch zwischenzeitliche Verwendung anderer Befehle zu Fehlern kommen?

> Wie gesagt da bin ich der falsche. Kann ich dir leider nicht beantworten
Aber hier im Forum wollte doch mal einer wissen, wie sicher sein Crack-Schutz ist und du hast ihn jedes Mal wieder ausgetrickst und konntest den Schutz umgehen... Hattest du das nicht auch mit Debuggern hier und ASM da gemacht? Oder warst du gar nicht daran beteiligt und ich verwechsle das?
Wegen deiner Teilname an diesem Thread kam ich auf die Idee, dass du fit in ASM bist...

Verfasst: 15.11.2007 20:21
von Thorium
AND51 hat geschrieben: Kann ich das denn ganz ungefährlich machen? Also z. B. ganz am Anfang einer Prozedur irgendwas pushen, meinen Wert ins EAX Register stecken, die ganze Zeit irgendwelche PB-Befehle ausführen, hier was machen, dort was machen und dann wieder EAX auslesen und den alten Registerinhalt wieder runterholen?
Oder könnte es durch zwischenzeitliche Verwendung anderer Befehle zu Fehlern kommen?
Ach so meinst du das, das würde ich nicht tun. Ich trenne PB und ASM immer. Also meist schreib ich eine Prozedur entweder in PB oder in ASM. Du musst bedenken das die ganzen Befehle von PB die Register ja auch verwenden. Ausserdem nutze ich den Inline-ASM-Support nicht, ich mach alles mit Ausrufezeichen davor, da kann ich alles machen, muss halt auspassen das ich PB nicht in die Quere komme.
AND51 hat geschrieben: Aber hier im Forum wollte doch mal einer wissen, wie sicher sein Crack-Schutz ist und du hast ihn jedes Mal wieder ausgetrickst und konntest den Schutz umgehen... Hattest du das nicht auch mit Debuggern hier und ASM da gemacht? Oder warst du gar nicht daran beteiligt und ich verwechsle das?
Wegen deiner Teilname an diesem Thread kam ich auf die Idee, dass du fit in ASM bist...
Ja das hat aber nix mit Optimierungskniffen zu tun. :wink:
Da musste ich meistens nur ein JE in ein JMP oder NOP umpatchen.

Verfasst: 15.11.2007 20:34
von AND51
Ahso. Also ganze Prozeduren wollte ich (noch^^) nicht in ASM machen...
Wenn dann würde ich das Ausrufezeichen auch verwenden, scheint besser zu sein. PB nicht in die QUere kommen, alles klar. Das war das, was ich meinte.

@ umpatchen:
Achso... Und ich dachte die ganze Zeit immer: "Mannomann, alle Achtung, was der da kann.."
Aber wenn du sagst, dass das nicht so viel Aufwand ist... beeindruckend!

Verfasst: 15.11.2007 20:40
von Thorium
AND51 hat geschrieben: @ umpatchen:
Achso... Und ich dachte die ganze Zeit immer: "Mannomann, alle Achtung, was der da kann.."
Aber wenn du sagst, dass das nicht so viel Aufwand ist... beeindruckend!
Ist es in der Tat nicht. Die eigentliche Schwierigkeit ist immer das finden der interessanten Codestellen, also Adressen. Da hilfts viel wenn man sich mit der WinAPI (code nur unter Windows) auskennt. Wenn man die richtigen Adressen erstmal gefunden hat, ist die Sache schnell gepacht.

Verfasst: 15.11.2007 20:45
von AND51
Achso. Naja, jedenfalls dachte ich seit dieser Aktion immer, dass du hier im Board "unser" führender ASM-Experte bist!
Ich meine: Ob du nur Basics oder och schon mehr kannst - du kannst auf jeden Fall mehr als ich... :wink:

Verfasst: 16.11.2007 21:13
von NicknameFJ
@AND51

Setze einen Thread über ASM mal in das Forum "andere Sprachen" und spreche Helle an - ich glaube das ist DER Assembler-Experte hier im Forum


Joachim

Verfasst: 16.11.2007 22:53
von AND51
Helle... Klar, den gibt's ja auch noch! Sicher! Jetzt wo du es sagst... (Sorry Helle!!!)

OK, wenn ich hellen Bedarf habe, werde ich das tun. Danke für en Hinweis! :D

Verfasst: 19.11.2007 17:59
von PureProgger
Hi!

Soweit ich mich erinnern kann, hat bis jetzt jeder Compiler seine Ergebnisse im Akku oder bei größeren Zahlen noch zusätzlich im Datenregister(EDX) hinterlassen! (Kann man mit einem Disassembler betrachten)
Ein Bug wäre für mich erst den Wert umständlicherweise erst in einer Variablen(Speicheradresse) zu speichern und dann ins Register zu schreiben.

Gruß Pureprogger