06.02.2011, 21:40
(06.02.2011, 20:51)sILeNt heLLsCrEAm schrieb: Dazu muss man wissen was die einzelnen Register darstellen bzw. zu was diese eigentlich gedacht sind. Das ESP Register ist das Extended Stack Register. Wenn man wie ich aus der Reversing Szene kommt, kommt man man nicht um den Stack Frame drumrum. Dazu muss man auch verstehen wie sich das mit den Stackoperationen verhält - Sprich Aufrufkonventionen, wie wird vom Stack gelesen, wie wird auf den Stack geschrieben und solche Sachen. Ganz einfach - Was ist der Stack und wie ist er zu verstehen?!
Ich werde hier nicht weiter das Ganze erläutern denn die Bedeutung des Stacks und speziell die Funktion des ESP Registers kann man auf unzähligen Internetseiten, allen voran Wikipedia, selbst nachlesen und würde in diesem Sinne auch den Rahmen sprengen.
Hey,
ich weiss jetzt nicht ob du deine Antwort auf mich bezogen hast, aber auch ich habe mich schon mit dem Stack auseinander gesetzt (setzen müssen). Ich habe die Fragen nur gestellt, weil ich der Meinung bin das solche Fragen bei einem Anfänger aufgetaucht wären.
(06.02.2011, 20:51)sILeNt heLLsCrEAm schrieb: Vielmehr stellt sich aber die Frage - Warum muss ich diesen Packer erst entpacken??? Antwort - Muss man nämlich garnicht... Selbst wenn man eine gepackte Anwendung bzw. Spiele EXE patchen möchte brauch man noch nichtmal die EXE entpacken.Einfache Packer dienen, wie da Name ja schon sagt, nur dazu die Größe der .exe zu verringern bzw. zu "packen". Das der gesamte Code dann zur Runtime wieder entpackt werden muss, sollte klar sein. Somit steht der Code wieder völlig normal im Speicher und kann nach wie vor leicht verändert werden.
Wenn man jedoch die .exe patchen möchte, finde ich es um einiges leichter eine nichtgepackte .exe zu patchen, da man sich nicht mit der Entpackungsroutine des Packers beschäftigen muss.
"Auf dieser Welt gibt es mehr Scheisse als auf Festivalklos"