Einzelnen Beitrag anzeigen

brechi

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

Re: vergleichen von zwei librarys im speicher

  Alt 8. Jul 2005, 12:47
stimmt bei dem add könnte durch ne reclocation geändert worden sein
die ersten 6 bytes müssen (64A118000000) aber stimmen und wenn instruction 2 nen ADD ist musst halt schaun ob der wert in der opengl32.dll liegt

das eigentlich bei jeder gl funktion bei 9x + einigen bei 2k und XP SP < 2
XP SP4 hat hingegen noch en veränderte form davon

ums hier mla zu zeigen:

glBegin ( ALLE NT systeme )

693A29C0 > 64:A1 18000000 MOV EAX,DWORD PTR FS:[18]
693A29C6 FFA0 CC070000 JMP DWORD PTR DS:[EAX+7CC]

glShadeModel (9x + alle NT ausser XP SP2)

693A38B4 > 64:A1 18000000 MOV EAX,DWORD PTR FS:[18]
693A38BA 8BD0 MOV EDX,EAX
693A38BC 0315 28F84569 ADD EDX,DWORD PTR DS:[6945F828] // die adresse is überall anders
693A38C2 8B12 MOV EDX,DWORD PTR DS:[EDX]
693A38C4 FFA2 C4020000 JMP DWORD PTR DS:[EDX+2C4] //adresse kann anders sein auch von länge des opcodes her

das glBegin unter 9x hat den selben aufbau wie das glShadeModel (oben) auch mit dem selben jmp 7CC

da ich gerade net XP SP 2 hab kann ich dir die 3. variante aber net zeigen
die bezieht sich aber auch nur auf die funktion wie glShadeModel die gibt es da nicht mehr sondern sieht wieder ander aus

jedefalls ist es wirklich leicht das zu erkennen wenn da nen zusätzlicher jump ist / der aufbau nicht simmt

um nochmal zu vervollständigen, pharlaps openglhack sowie der OGC SE von mir ändern direkt die adresse bei
JMP DWORD PTR DS:[EAX+7CC] ab

das ist nicht so leicht zu erkennen, da das der treiber unter umständen auch mal öfters macht und diese adresse auch net zwingen in den treiber zeigen muss, bei den eneuren allociert der treiber selbst speicher und schreibt einige funktionen da rein
  Mit Zitat antworten Zitat