AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

asm inline

Ein Thema von UniPerson · begonnen am 26. Dez 2005 · letzter Beitrag vom 27. Dez 2005
Antwort Antwort
Seite 1 von 2  1 2      
UniPerson

Registriert seit: 23. Dez 2005
Ort: Bremen
14 Beiträge
 
#1

asm inline

  Alt 26. Dez 2005, 20:30
möchte über delphi per command click mit hilfe von asm diese nummern ändern

0012F0B6 49 DEC ECX
0012F0B7 45 INC EBP
0012F0B8 2D 354A5330 SUB EAX,30534A35 <<< diese nummern per click ändern!
0012F0BD 52 PUSH EDX
0012F0BE 4E DEC ESI
0012F0BF 3350 00 XOR EDX,DWORD PTR DS:[EAX]


ist es möglich? per asm
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#2

Re: asm inline

  Alt 26. Dez 2005, 20:49
Ja, es geht. Allerdings musst du mit VirtualProtect erst den Speicherbereich für Schreibzugriffe freischalten. (Wie's geht - vergessen)

Den Wert zu ändern geht auch ohne asm: ein einfaches PLongInt(0012F0B89)^ := sollts schon tun
  Mit Zitat antworten Zitat
brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#3

Re: asm inline

  Alt 26. Dez 2005, 21:01
der speicherbereich 0x0012XXXX ist sehr wahrscheinlich auf dem stack, dafür muss du dir dann keine schreibrechte(virtualprotect) holen (sollte man aber immer mal besser machen ) wie schon gesagt genügt ein pinteger($0012.....)^ := 123456, abr wenn es wirklich auf dem stack liegt kann es ssein, dass sich die adresse auch mal ändert
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#4

Re: asm inline

  Alt 26. Dez 2005, 21:04
Das es auf dem Stack liegt ist natürlich sehr gut möglich, aber wegen der Disassembly oben hab ich eher an ne verschobene ImageBase gedacht. Falls man die überhaupt so weit verschieben kann ^^
  Mit Zitat antworten Zitat
UniPerson

Registriert seit: 23. Dez 2005
Ort: Bremen
14 Beiträge
 
#5

Re: asm inline

  Alt 26. Dez 2005, 21:37
die offset adresse bleibt gleich,habs getestet,


kann mir vieleicht einer einen ausführlichen code reinposten?

danke
  Mit Zitat antworten Zitat
brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#6

Re: asm inline

  Alt 26. Dez 2005, 23:07
das geht mit

PInteger($0012F0B89)^ := $12345678 oder

Delphi-Quellcode:
asm
  mov [$0012F0B89], $12345678
end;
wenn das in deinem Programm ist, ist es in einem anderen programm musst du das mit WriteProcessMemory machen, dafür einfach mal hier im Forum suchen
  Mit Zitat antworten Zitat
UniPerson

Registriert seit: 23. Dez 2005
Ort: Bremen
14 Beiträge
 
#7

Re: asm inline

  Alt 27. Dez 2005, 15:21
der code funktioniert perfekt,er schreibt das auf der adresse,aber das problem ist jetzt ,es schreibt auch ein anderes programm drauf und wird überschrieben,habs den code dann in einen timer reingemacht und interval auf 1 gesetzt,aber der andere programm überschreibt das trozdem wenn er das lesen will schreibt der andere programm was andere rein,kann ich das blocken? das auf diese adresse nichts geschrieben werden kann nur von meinen programm aus?


DAnke



0012F0B6 12345678 xV4 << das schreibt mein prog,

das andere schreibt dann

0012F0B6 5644321 IE- <<< das andere programm

kann ich das blocken?
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#8

Re: asm inline

  Alt 27. Dez 2005, 15:25
Entziehe dem Bereich mit VirtualProtect die Schreibrechte. Aber wenn der Bereich tatsächlich auf dem Stack liegt (hi brechi ), dann endet das unter Umständen tödlich.

Was treibst du da eigentlich? *neugier*
  Mit Zitat antworten Zitat
UniPerson

Registriert seit: 23. Dez 2005
Ort: Bremen
14 Beiträge
 
#9

Re: asm inline

  Alt 27. Dez 2005, 15:30
wie mache ich das? gibts dafür einen beispiel project?

kann ich das so machen das andere programme nur auf diese adresse lesen können und nur mein programm kann drauf schreiben?


danke
  Mit Zitat antworten Zitat
UniPerson

Registriert seit: 23. Dez 2005
Ort: Bremen
14 Beiträge
 
#10

Re: asm inline

  Alt 27. Dez 2005, 17:11
habs doch noch geschafft,

aber das mit den

Delphi-Quellcode: markieren
asm
mov [$0012F0B89], $12345678 <<< wieso nur bis 8?
end;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz