Buttons, schaltflächen, etc. "einschalten"

also es gibt ja oft den zustand das ein button zwar existiert, jedoch nicht anklickbar ist, ich kenne das da ich faul war nur aus vcl in dem man einstellen kann ob der button nun eben "Enabled" ist oder nicht, aber wie sieht das ganze jetzt denn in assembler aus?

Und vor allem, wie mache ich einen button oder eine schaltfläche von "nicht klickbar" zu "klickbar" ?
 
nur fürs verständnis: meinst du zum beispiel mit ollydbg, um ein compiliertes programm zu verändern?
 
Hallo Schurke,

einfach die Datei mit DeDe öffnen, im DeDe den Offset der Form notieren. LordPE öffnen, auf den FLC-Button klicken, Offset eintragen und die RVA kopieren. Im OllyDbg STRG + G drücken und die kopierte Adresse eintragen. Dann solltest du zu der Adresse kommen, wo die Form1 initialisiert wird. Alternativ kannst du in ResHack dein Programm patchen.

Du kannst es auch Hex-Editor patchen. An der Stelle: 687E0 einfach das 08 durch ein 09 erstezen:
Code:
74 74 6F 6E 32 07 45 6E 61 62 6C 65 64 08 08 54
Code:
74 74 6F 6E 32 07 45 6E 61 62 6C 65 64 09 08 54

the_uxreal :)
 
Hallo Schurke,

das ganze kannst du genau so gut mit dem OllyDbg machen. In meinem letzen Beitrag habe ich ja bereits den Offset gepostet. Den Offset rechnest du einfach in die VA(4711E0) um. Dann einfach im OllyDbg STRG + G drücken und die VA eintragen. In der Zeile, wo du landest mit Rechtsklick klicken => Follow in Dump => Selection. Im Dump kannst du dann ein paar Bytes weiter deinen Button wiederfinden und auch das Enabled-Property auf true(09) setzen.

the_uxreal
 
ja aber dabei geht es mir eher darum das du die offsets über ein weiteres programm findest, ich würde gerne wissen wie dieses programm die offsets findet.
 
Hallo Schurke,

im Grunde ist es möglich in den Ressourcen oder im Hex-Editor nach den string "Button1" oder "Button2" zu suchen und an der Stelle im OllyDbg einen Breakpoint zu setzen. Etwas etwas vorher oder nachher muss es ein MOV- oder XOR-Befehl geben, der den Button bzw. das Property "Enabled" auf true oder false setzt.

the_uxreal
 
Zurück
Oben