Quote:
Warum eignet sich c# nicht für hackprogrammierung wo man den Stack Auslesen muss und ihn auch verändern muss. Alle sagen c++ aber richtige Gründe kommen nie. Memory Read c# googeln kommt einiges.
|
C++ ist eine Pogrammiersprache dessen quellcode direkt in Maschienencode umgewandelt wird. C# dagegen ist eine .net sprache und dessen quellcode wird beim kompilieren in bytecode umgewandelt. Der Wesentliche unterschied zwischen Maschienencode und bytecode ist das Maschienencode direkt vom Prozessor verarbeitet werden kann, bytecode dagegen kann der Prozessor nicht verarbeiten desshalb muss dieser noch nachträglich in maschienencode umgewandelt werden.
Und um den stack an einer bestimmten stelle auszulesen z.b. die parameter oder die loaken Variablen eine funktion sollte man die entsprechende funktion hooken. Dazu wird in der funktion( an dessen parameter oder Variablen man will) an gewünscher stelle zu einer eigenen selbstgeschriebenen funktion gesprungen. In der eigenen Funktion kann man dann entsprechend den stack auslesen und verändern.
Da das Opferpogramm(dessen funktion man hooken will) meistens auch in Maschienencode verliegt sollte man eine sprache benutzen die ebenfalls maschiencode erzeugt. Da es nicht funktionieren würde wen man von der funktion die man hookt auf eine eigene funktion die in bytecode vorliegt springt.
Wenn mein text nicht so perfekt ist liegt es nur daran das es so spät ist