Autor Beitrag
uall@ogc
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1826
Erhaltene Danke: 11

Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
BeitragVerfasst: Mo 10.01.05 19:53 
naja also probieren sollte man das net unbedingt, man kann ja einfach schaun wie viele bytes man noppen muss

www.uall.org/addr.JPG

daran erkennste das es 6 bytes sind
desweiteren muss der assembler code nicht immer an der selben adresse sein, einfach aus dem grund da die engine in einer dll ausgelagert ist, bzw valve sich nen eigenen dll loader gemacht hat

und so wie ich das hier rausgelesen habe hat keiner von euch beiden so viel ahnung über den aufbau einer exe, bzw assembler (soll nu net heißen das ihr dumm seid :P)

aber es gibt verschiedene methode auch die adresse des assembler codes dynamisch zu bekommen
hab leider keine tutorials mehr da, hatte mal eins für CS 2D das der nebel weg ist (no fog)
desweiteren solltest dir im klaren sein das es nur im singleplayer modus funktioniert da es 2 unterschiedliche client.dlls gibt

wenn CS bischen aktiver spielst kennste mich ja vielleicht ;>
WeBsPaCe
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2322
Erhaltene Danke: 1

FireFox 3, Internet Explorer 6 SP1
D1, D3Prof, D6Pers, D7Pers+Indy, VisualStudio Express
BeitragVerfasst: Mo 10.01.05 19:56 
F34r0fTh3D4rk hat folgendes geschrieben:
bei mir hängt das spiel danach auch net mehr es stürzt gleich ab ich finds auch besser

??? Das kann aber nich sein, gelle?? Weil wir freezen ja einfach nochmal dieselbe Adresse, warum soll sich also was ändern??

_________________
Steht der Bauer im Gemüse, hat er später grüne Füße.
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Mo 10.01.05 19:56 
ich spiele jetzt source weil 1.6 nicht mehr geht :(

ich kenne ogc aber dich net erzähl mal

ventrilo garnich im system tray ich find da unten nervt es immer so rum :)
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Mo 10.01.05 19:59 
mit 6 funktioniert es ja auch aber wenn ich sterbe kackt es ab :(

geht es im multiplayer denn auch wenn ichs da nochmal mache ?
uall@ogc
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1826
Erhaltene Danke: 11

Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
BeitragVerfasst: Mo 10.01.05 19:59 
kurze info:

OGC = Online Game Cheats
CD = Cheatings Death (www.unitedadmins.com, Anti Cheat Programm)
me = CDD Coder (Cheatings Death`s Death, www.uall.org)

einer der bekanntesten cheat programmierer für CS
und leidenschaftlicher HL debugger(er?) :P

im multiplayer wirste das nicht hinbekommen, es sei den ndu machst den server auf
dort kannste lediglich die anzeige ändern d.h. bei dir steht dann du hast 16000 $ oder halt 500 Schuss oder 999999 health
aber der server speichert die variablen d.h. wenn du getroffen wirst, ändert sich die variable aufm server und irgendwann lässt der dich net mehr schiessen
WeBsPaCe
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2322
Erhaltene Danke: 1

FireFox 3, Internet Explorer 6 SP1
D1, D3Prof, D6Pers, D7Pers+Indy, VisualStudio Express
BeitragVerfasst: Mo 10.01.05 20:01 
F34r0fTh3D4rk hat folgendes geschrieben:
ich kenne ogc aber dich net erzähl mal

Hey, hey, nich offtopic werden!! :roll: :D

@uall@ogc
Wo genau soll man da sehen wie viele Bytes, was braucht??

@F34r0fTh3D4rk
Hast du meinen Edit von dem vorletzten Post gesehen??

_________________
Steht der Bauer im Gemüse, hat er später grüne Füße.
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Mo 10.01.05 20:03 
wurden die programmierer von ogc nich von valve verklagt ?

ogc ging bei mir noch nie, kA warum

ist cdd das tool welches cd simuliert und somit so tut als wäre alles in ordnung aber in wirklichkeit hat der client die fetten cheats am start ?

ist nicht gerade sowas in der esl vorgekommen mit deinem tool ?

unser clan ist deshalb nämlich aus der esl ausgetreten
uall@ogc
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1826
Erhaltene Danke: 11

Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
BeitragVerfasst: Mo 10.01.05 20:12 
genau das tool war es :> aber waurm gleich deshalb ausse ESL raus
wirst eh bald nen artikel auf mTw lesen können wo ziemlich viel näheres über cheaten drin steht

also du erkennst das auf dem pic daran


0044C86C 89917C0D0000 mov [ecx+$00000d7c], edx
^------------ assembler code
^-------- opcode in hex (was in der hl.exe drinsteht wenn sie mit hexeditor öffnest

^-- adresse in der HL.exe (die ausführbare exe fängt zu 99% imm bei 00400000 an)


8991 steht für mov [ecx+$adresse], edx
7c0d0000 -> umgedreht als hex -> 00000d7c ist die adresse
ECX und EDX sind register
in EDX steht halt das geld oder health jenachdem

mov [...], ...
schreibt an die stelle von dem ersten ... nen wert

als als bsp.

ECX = $00480000
EDX = 100 (dezimal / HP anzeige)

dann macht der befehl
an adresse $00480000+$00000D7C nen ascii 100


89917C0D0000 <- durch 909090909090 erstetzen und du hast den befehl gelöscht (überschriben mit NOP)
und es wird nix mehr an die adresse geschrieben
retnyg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2754

SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
BeitragVerfasst: Mo 10.01.05 20:13 
uall@ogc hat folgendes geschrieben:

aber es gibt verschiedene methode auch die adresse des assembler codes dynamisch zu bekommen


erzähl mal, würd mich intressieren. vielleicht weisst du ja auch wie man die dynamisch erteilten speicherpositionen von Datenwerten rausfindet (wie z.b. AmmoCount)
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Mo 10.01.05 20:15 
jetzt glaub ich habs verstanden :D aber das spiel stürzt ab wenn ich sterbe
uall@ogc
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1826
Erhaltene Danke: 11

Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
BeitragVerfasst: Mo 10.01.05 20:18 
also ist das jetzt für die health anzeige?
wenn ja ändert die sich denn wenn du nur angeschossen wirst?

@retnyg hab da noch eins meiner tuts gefunden

www.mpcheatz.com/wbb...readid=6147&sid=

kannst dir das ja mal anschauen da sieht man auch das der code in nem anderen speicherbereich liegt
und wie man dann da drann kommt bzw sogar die exe patchen kann
The-FoX
ontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 203

Win XP
D6 Pers
BeitragVerfasst: Mo 10.01.05 21:08 
Hallo,

Ich habe da noch eine andere Methode gefunden / gesagt bekommen.

Ich habe schon vor ein paar Monaten versucht einen The sims Trainer zu schreiben. Dabei fand ich auch eine Speicherstelle, die ich von 0 in 1 ändern musste. Diese Adresse veränderte sich allerdings dynamisch, und ich habe gegoogelt, gegoogelt, gegoogelt, auch dein Tutorial bei Mpcheatz.de gefunden, doch nichts hat geholfen.

Dann kam ich auf die Idee jemanden zu fragen, der schon mal einen Trainer für das Spiel geschrieben hat, also hab ich auf www.cheats.de einfach gesucht und einen Trainer gefnden, der genau das kann was ich wollte. Hab ihm ne eMail geschrieben und bekam sogar den Code, aber keine Erläuterung...der Herr war nicht so kommukativ so zu sagen.

Also, der Code ist VB:

ausblenden volle Höhe Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long 
Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As Long 
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long 
Private Declare Function WriteProcessMemory Lib "kernel32" (ByVal hProcess As Long, ByVal lpBaseAddress As Any, ByVal lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long 
Private Declare Function ReadProcessMemory Lib "kernel32" (ByVal hProcess As Long, ByVal lpBaseAddress As Any, ByVal lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long 
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long 

Public Function ConvertNumberToString(Number As Double) As String 
Dim b1, b2, b3, b4 
If Number < 256 Then ConvertNumberToString = Chr(Number): Exit Function 
If Number < 65536 Then 
ConvertNumberToString = Chr(Number And 255) & Chr((Number And 65280) / 256) 
Exit Function 
End If 
b4 = Number And 255: Number = Int(Number / 256) 
b3 = Number And 255: Number = Int(Number / 256) 
b2 = Number And 255: Number = Int(Number / 256) 
b1 = Number And 255: Number = Int(Number / 256) 
ConvertNumberToString = Chr(b4) & Chr(b3) & Chr(b2) & Chr(b1) 
End Function 

Private Sub cmd01_Click() 
Dim hwnd As Long, ProcessID As Long, pHandle As Long 
hwnd = FindWindow(vbNullString, "SIMS") 
If hwnd = 0 Then 
lbl01.Caption = "TS not found" 
Exit Sub 
End If 
GetWindowThreadProcessId hwnd, ProcessID 
pHandle = OpenProcess(&H1F0FFF, False, ProcessID) 
If pHandle = 0 Then 
lbl01.Caption = "No process handle found!" 
Exit Sub 
End If 

WriteProcessMemory Handle, &H6F406FCA, ConvertNumberToString(&H33), 1, 0& 
WriteProcessMemory Handle, &H6F406FC9, ConvertNumberToString(&H41), 1, 0& 
WriteProcessMemory Handle, &H6F406FCE, ConvertNumberToString(&H46), 1, 0& 
WriteProcessMemory Handle, &H6F406FCF, ConvertNumberToString(&H33), 1, 0& 
WriteProcessMemory Handle, &H6F406FD0, ConvertNumberToString(&HF6), 1, 0& 
WriteProcessMemory Handle, &H6F406FCB, ConvertNumberToString(&HC9), 1, 0& 
WriteProcessMemory Handle, &H6F2A22A3, ConvertNumberToString(&H40), 1, 0& 
WriteProcessMemory Handle, &H6F148E58, ConvertNumberToString(&HEB), 1, 0& 
WriteProcessMemory Handle, &H6F2A22A4, ConvertNumberToString(&H33), 1, 0& 
WriteProcessMemory Handle, &H6F149D3C, ConvertNumberToString(&HEB), 1, 0& 
WriteProcessMemory Handle, &H6F2A22A3, ConvertNumberToString(&H40), 1, 0& 
WriteProcessMemory Handle, &H6F2A22A5, ConvertNumberToString(&HC0), 1, 0& 
WriteProcessMemory Handle, &H6F2A22A6, ConvertNumberToString(&H42), 1, 0& 
WriteProcessMemory Handle, &H6F2A22A7, ConvertNumberToString(&H33), 1, 0& 
WriteProcessMemory Handle, &H6F2A22A8, ConvertNumberToString(&HD2), 1, 0& 
WriteProcessMemory Handle, &H6F148E58, ConvertNumberToString(&HEB), 1, 0& 

Close Handle, pHandle 
lbl01.Caption = "Go get her ;-)" 
End Sub 

Private Sub cmd02_Click() 
Dim hwnd As Long, ProcessID As Long, pHandle As Long 
hwnd = FindWindow(vbNullString, "SIMS") 
If hwnd = 0 Then 
lbl01.Caption = "TS not found" 
Exit Sub 
End If 
GetWindowThreadProcessId hwnd, ProcessID 
pHandle = OpenProcess(&H1F0FFF, False, ProcessID) 
If pHandle = 0 Then 
lbl01.Caption = "No process handle found!" 
Exit Sub 
End If 

WriteProcessMemory Handle, &H6F2A22A3, ConvertNumberToString(&H42), 1, 0& 
WriteProcessMemory Handle, &H6F406FCE, ConvertNumberToString(&H70), 1, 0& 
WriteProcessMemory Handle, &H6F2A22A6, ConvertNumberToString(&H52), 1, 0& 
WriteProcessMemory Handle, &H6F148E58, ConvertNumberToString(&H75), 1, 0& 
WriteProcessMemory Handle, &H6F406FC9, ConvertNumberToString(&H48), 1, 0& 
WriteProcessMemory Handle, &H6F149D3C, ConvertNumberToString(&H75), 1, 0& 

CloseHandle pHandle 
lbl01.Caption = "Hm, she's hating you again (deactivated)" 
End Sub


Wie man sieht, schreibt er einige Speicherstellen um. Ich habe den Code in Delphi konvertiert, und er funktioniert. Aber ich habe absolut keine Ahnung, wie der Autor darauf kommt die Adresse xyz in $40 umzuschreiben...vielleicht kann mir ja jemand mal sagen, wie er vorgegangen ist, meine momentane Lösung funktioniert zwar, aber ich habe nicht ohne grund 4 Monate lang gesucht wie ein verrückter, nur um funktionierenden Code zu bekommen ohne zu verstehen wie er klappt :gruebel:

ICh bin dankbar für jede Hilfe.
retnyg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2754

SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
BeitragVerfasst: Mo 10.01.05 21:30 
das sieht aber nicht nach einem dynamisch zugewiesenen speicherbereich aus

genau genommen macht der nichts anderes, als wir hier mit unserm code-schnipsel, wenn ich das richtig lese.
und die paar werte die der umschreibt sind vermutlich irgendwelche assemblerbefehle, die umgebogen werden ^^
Karlson
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 2088



BeitragVerfasst: Mo 10.01.05 21:33 
retnyg hat folgendes geschrieben:
das sieht aber nicht nach einem dynamisch zugewiesenen speicherbereich aus


Ich kenne die Problematik aus meinem HL2 Waffencheat. Der Bereich in dem The-Fox's variable gespeichert wird, wird scheinbar schon dynamisch belegt, die Befehle (dir hier wohl umgeschrieben werden) scheinen gleich zu bleiben.

Naja, jetzt bleibt uns nur noch übrig darauf zu warten, was der Meister dazu meint ;)
en!gma Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 378

win xp
delphi 7.0
BeitragVerfasst: Mo 10.01.05 21:42 
hmm hast du mal nachgeschaut
was die beiden codes machen?
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
WriteProcessMemory Handle, &H6F406FCA, ConvertNumberToString(&H33), 1, 0& 
WriteProcessMemory Handle, &H6F406FC9, ConvertNumberToString(&H41), 1, 0& 
WriteProcessMemory Handle, &H6F406FCE, ConvertNumberToString(&H46), 1, 0& 
WriteProcessMemory Handle, &H6F406FCF, ConvertNumberToString(&H33), 1, 0& 
WriteProcessMemory Handle, &H6F406FD0, ConvertNumberToString(&HF6), 1, 0& 
WriteProcessMemory Handle, &H6F406FCB, ConvertNumberToString(&HC9), 1, 0& 
WriteProcessMemory Handle, &H6F2A22A3, ConvertNumberToString(&H40), 1, 0& 
WriteProcessMemory Handle, &H6F148E58, ConvertNumberToString(&HEB), 1, 0& 
WriteProcessMemory Handle, &H6F2A22A4, ConvertNumberToString(&H33), 1, 0& 
WriteProcessMemory Handle, &H6F149D3C, ConvertNumberToString(&HEB), 1, 0& 
WriteProcessMemory Handle, &H6F2A22A3, ConvertNumberToString(&H40), 1, 0& 
WriteProcessMemory Handle, &H6F2A22A5, ConvertNumberToString(&HC0), 1, 0& 
WriteProcessMemory Handle, &H6F2A22A6, ConvertNumberToString(&H42), 1, 0& 
WriteProcessMemory Handle, &H6F2A22A7, ConvertNumberToString(&H33), 1, 0& 
WriteProcessMemory Handle, &H6F2A22A8, ConvertNumberToString(&HD2), 1, 0& 
WriteProcessMemory Handle, &H6F148E58, ConvertNumberToString(&HEB), 1, 0&

und
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
WriteProcessMemory Handle, &H6F2A22A3, ConvertNumberToString(&H42), 1, 0& 
WriteProcessMemory Handle, &H6F406FCE, ConvertNumberToString(&H70), 1, 0& 
WriteProcessMemory Handle, &H6F2A22A6, ConvertNumberToString(&H52), 1, 0& 
WriteProcessMemory Handle, &H6F148E58, ConvertNumberToString(&H75), 1, 0& 
WriteProcessMemory Handle, &H6F406FC9, ConvertNumberToString(&H48), 1, 0& 
WriteProcessMemory Handle, &H6F149D3C, ConvertNumberToString(&H75), 1, 0&

??
wenn ich das spiel hätte könnte das das villeicht mal nachschaun...
villeicht kannst du ja mal schaun was das erste teil macht was er verändert...
sieht ja fast so aus als wenn er einer variable einen statischen speicher zuweist und diesen dann umschreibt...
villeicht is der speicher von vorher einfach nur unbenutzt oder was auch immer
uall@ogc
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1826
Erhaltene Danke: 11

Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
BeitragVerfasst: Mo 10.01.05 21:51 
also ohne das ich das spiel habe

WriteProcessMemory Handle, &H6F406FC9, ConvertNumberToString(&H41), 1, 0&
WriteProcessMemory Handle, &H6F406FCA, ConvertNumberToString(&H33), 1, 0&
WriteProcessMemory Handle, &H6F406FCB, ConvertNumberToString(&HC9), 1, 0&
WriteProcessMemory Handle, &H6F406FCE, ConvertNumberToString(&H46), 1, 0&
WriteProcessMemory Handle, &H6F406FCF, ConvertNumberToString(&H33), 1, 0&
WriteProcessMemory Handle, &H6F406FD0, ConvertNumberToString(&HF6), 1, 0&

WriteProcessMemory Handle, &H6F2A22A3, ConvertNumberToString(&H40), 1, 0&
WriteProcessMemory Handle, &H6F2A22A4, ConvertNumberToString(&H33), 1, 0&
WriteProcessMemory Handle, &H6F2A22A5, ConvertNumberToString(&HC0), 1, 0&
WriteProcessMemory Handle, &H6F2A22A6, ConvertNumberToString(&H42), 1, 0&
WriteProcessMemory Handle, &H6F2A22A7, ConvertNumberToString(&H33), 1, 0&
WriteProcessMemory Handle, &H6F2A22A8, ConvertNumberToString(&HD2), 1, 0&

WriteProcessMemory Handle, &H6F148E58, ConvertNumberToString(&HEB), 1, 0&

WriteProcessMemory Handle, &H6F149D3C, ConvertNumberToString(&HEB), 1, 0&

ich hab das mal sortiert, einige WPM waren doppelt
es handelt sich dabei um eine dll die er wahrscheinlich patched
die beiden einzelnen EBs sind short jumps und verursachen im code das immer gesprungen wird, also wird davor etwas vom spiel
sehr wahrscheinlich geprüft mit cmp oder test

die 40 bzw 41 ist nen "inc Register" komischerweise wird aber beim 1. fall das register darauf wieder gexort also auf 0 gesetzt
33 steht für
xor register, register -> mov register, 0
auch ist mir gleich aufgefallen das beim 1 fall ne adresse fehlt -> an dieser wird wahrscheinlich ein einzelner byte befehl stehen wie push oder nop, schön ist es nicht wenn man den auch wenns sinnlos ist noch selber mal da reinschreibt

aber ohne dll bzw mehr infos kann ich dir da leider net weiterhelfen
retnyg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2754

SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
BeitragVerfasst: Mo 10.01.05 21:56 
hier www.google.at/search...WMINIMIZED&hl=de
gibts ein programm zum download, das den speicher eines prozesses abspeichert. wenn du einen Dump von deinem Sims-Spiel machst, könnten wir dir sicher weiterhelfen.
retnyg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2754

SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
BeitragVerfasst: Mo 10.01.05 22:21 
uall@ogc hat folgendes geschrieben:

es handelt sich dabei um eine dll die er wahrscheinlich patched

ich nehm mal an du erkennst das an der speicherposi, aber an was genau ?
uall@ogc
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1826
Erhaltene Danke: 11

Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
BeitragVerfasst: Mo 10.01.05 22:37 
naja da wo der das hinschreibt

6F2A22A8 z.b.

ne dll beginnt immer an einer adresse X*0x10000

in dem fall z.b. bei 0x6f2a0000 oder 0x6f200000 oder 0x6f100000 oder oder oder
das es patches sind die häufig vorkommen und sogar einen sinn ergeben
EB = jmp
xor eax, eax z.b.

wird es sich um assemblercodes handeln
und da exe speicher sehr wahrscheinlich an 0x00040000 gemaped wird kannes der net sein
und da es auch auf anderen PCs fuznt wirds nicht dynamisch sein
also wird die DLL ihre "richtige" image base adresse bekommen (ohne reloc patches) was bei dynamischen speicher über virtuallalloc z.b. nicht sein wird
also denk ich mal isses ne DLL das würde auch als einziges einen sinn ergeben
Karlson
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 2088



BeitragVerfasst: Sa 15.01.05 16:41 
Hab auch mal wider ne Frage, bei Virtua Tennis gibts manchmal ne zeitbeschränkung.

Die läuft dann etwa nach dem Schema 30:00 sec -> 29:99 -> 29:98 -> 29:97. Es läuft also mit 100'stel Sekunden nach unten.

Ich finde diesen wert aber einfach nicht mit TSearch. Weissjemand wie das Spiel die Zeit evt. speichern könnte?

Wenn ich nach 2999 suche, wenn die Zeit auf 29:99 steht findet er nichts.
Ebensowenig wie wenn ich nur nach 29 suche.