if-Bedingung patchen
-
Ich möchte gerne mit C++ einen Assembler-Befehl patchen. Wie macht man das? Dazu habe ich ein Programm, wo es eine if-Bedingung gibt, die ich ändern möchte. Also, dass statt ein JNZ zu einem JZ wird. Bsp:
004113E5 75 1D JNZ SHORT TestPatc.00411404
wie geht das
-
Disassembler, patch, assembler.
-
Warum möchtest du den patchen?
-
Um eine if-Abfrage zu umgehen.
-
Bei den wenigen Information kann ich dir nur sagen, das du den opcode ändern musst: 0x75->0x74
-
Für folgendes C++ Programm kannst du das so z.b. mit dem Olly Debugger Patchen
#include <iostream> using namespace std; int main() { int eingabe; cout<<"Geben Sie was ein: "; cin>>eingabe; if (eingabe==1) { cout<<"Sie haben eine 1 eingeben"<<endl; return 0; } else { return 0; } cout<<"Sie haben die if abgfragen umgangen"<<endl; system("PAUSE"); }
Angenommen du willst zu dem Offset 1111111 ( nur ein beispiel )
Dann ändere das JNZ SHORT TestPatc.00411404 um inJNZ SHORT 1111111
Offset
004113E5 75 1D JNZ SHORT TestPatc.00411404http://www.tuts4you.com/search.php?q=lena&t=downloads&r=40
Lad dir da einfach mal die Tutorials von Lena runter da werden solche Sachen auch für Anfänger erklärt.
Bei dem ersten Tutorial ist auch glaub ich der OllyDebugger dabei.
Schaus dir halt mal an.