Seite 1 von 1

ASM Adresse einer lokalen Variable

Verfasst: 18.07.2019 17:22
von CSHW89
Hallo zusammen,

mal ne kurze Frage an die ASM-Cracks hier. Gibt es eine Möglichkeit die Adresse einer lokalen Variable zu bestimmen, ohne eine weitere Variable definieren zu müssen? Mal als Code ausgedrückt:

Code: Alles auswählen

Procedure test()
  Protected address.i
  Protected mySpecialVariable.i
  address = @mySpecialVariable
  ! mov esi, dword [p.v_address]
EndProcedure
Kann ich hier irgendwie auf die Variable "address" verzichten?

Vielen Dank und Grüße
Kevin

Re: ASM Adresse einer lokalen Variable

Verfasst: 18.07.2019 17:33
von NicTheQuick
Geht das nicht einfach mit dem normalen Assembler?

Code: Alles auswählen

Procedure test()
  Protected mySpecialVariable.i
  EnableASM 
  MOV esi, mySpecialVariable
  DisableASM 
EndProcedure

test()
Edit: Ich glaube das war Unsinn. Mit F5 sehe ich dann nur ein komplett leeren MessageRequester ohne Aussagekraft. /:-> Aber ich lass es mal stehen. Bin ja kein ASM-Crack. In Discord geht's diesbezüglich aber grad ziemlich rund.

Re: ASM Adresse einer lokalen Variable

Verfasst: 18.07.2019 21:28
von Mijikai
Wird mit lea geladen:

Code: Alles auswählen

;x64!

Procedure.i dummy()
  Protected value.i
  Debug @value
  !lea rax,[p.v_value];<- oder !lea eax,[p.v_value] für x86!
  ProcedureReturn  
EndProcedure

Debug dummy()