Autor Beitrag
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: Sa 08.01.05 18:49 
dann wäre das tutorial (für mich) vollständig, hab alles verstanden und bin froh jetzt auch sowas zu können echt nice danke an alle :D
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 16:02 
ich habe einen trainer für counter strike source gemacht der das geld einfriert,
wenn ich das in Tsearch einfriere funktioniert alles wunderbar nur wenn ich das mit meinem Programm mache stürzt das spiel ab sobald ich etwas kaufe. wenn ich 6 bytes statt 4 einstelle kann ich was kaufen aber wenn ich sterbe und geld dazubekomme stürzt das spiel wieder ab, warum ?

Es hat auch schon mit 4 bytes funktioniert aber dann hab ich css beendet das design verbessert (form) und dann gings wieder nich.

Hier mal der Code:
ausblenden Delphi-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:
procedure WriteProcMem(procWndTitle: string;CodeAddr:integer; numberNops:byte);
var  
  c, write : Cardinal;  
  buf: pchar;  
  i: byte;  
begin  
  c:=FindWindow(nil,pchar(procWndTitle)); //Get WindowHandle
  if c=0 then  
  begin
    showmessage('Bitte zuerst das Spiel und dann den Trainer starten');
    Application.Terminate;
    end;
  buf := '';  
  for i := 1 to numbernops do  buf := buf + $90;  
  GetWindowThreadProcessId(c,@c); //Get ProcessID and ignore ThreadID  
  c:=OpenProcess(PROCESS_ALL_ACCESS,False,c);  //Get ProcessHandle  
  WriteProcessMemory(c,Ptr(CodeAddr),buf,numberNops,write);  
  CloseHandle(c);
  showmessage('Geld eingefroren!');
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
WriteProcMem('Counter-Strike Source'$2205AE106);//Normalerweise 4 aber nur 6 funzt 8 auch net
end;
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 16:04 
Wieso denn gleich von 4 Bytes auf 6 Bytes springen?? Die 5 gibbet au noch!! :wink:

_________________
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 16:08 
bei tsearch gehts ja auch mit 4 !!!
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 16:12 
F34r0fTh3D4rk hat folgendes geschrieben:
bei tsearch gehts ja auch mit 4 !!!


Immer??

_________________
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 16:13 
immer

die speicheradresse fürs geld ändert sich immer aber der befehl damit geld weniger bzw mehr wird bleibt gleich
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 16:16 
F34r0fTh3D4rk hat folgendes geschrieben:
die speicheradresse fürs geld ändert sich immer aber der befehl damit geld weniger bzw mehr wird bleibt gleich


Weiß ich auch.. Poste mal den Assembler-Code, der da drin steht... Daran sieht man wieviele Bytes das sind... Du darfst nich nach den Bytes des eigentlichen Werts gehen!! Welchen Wert hast du denn dann in TSearch gefreezt??

_________________
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 16:18 
genau das was ich oben im code habe nur mit 4 bytes
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 16:20 
F34r0fTh3D4rk hat folgendes geschrieben:
genau das was ich oben im code habe nur mit 4 bytes


Bitte was hast du oben geschrieben?? Ich seh da nur den Code, wo n paar Adressen drin sind.. Ich wollt den Befehl, also sowas mit eax und dec und so..

_________________
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 16:26 
da steht
ausblenden Quelltext
1:
2205AE10 mov[ecx+0xD7C],edx					
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 16:39 
Probiers mal mit 2 bytes!!! Und führ (so blöd das klingt) wenns nich geht die Prozedur nochmal aus. Also nommal auf den Button klicken!! :roll:

_________________
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 16:40 
ich habs im oncreate das formulares :?
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 16:41 
F34r0fTh3D4rk hat folgendes geschrieben:
ich habs im oncreate das formulares :?


Egal... funzt es trotzdem??

_________________
Steht der Bauer im Gemüse, hat er später grüne Füße.
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 16:45 
Ansonsten kannstu den Code auch so abändern, dass es auf jeden Fall zweimal kommt.. Das macht au nix.. :

ausblenden Delphi-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:
procedure WriteProcMem(procWndTitle: string;CodeAddr:integer; numberNops:byte);  
var    
  c, write : Cardinal;    
  buf: pchar;    
  i: byte;    
begin    
  c:=FindWindow(nil,pchar(procWndTitle)); //Get WindowHandle  
  if c=0 then    
  begin  
    showmessage('Bitte zuerst das Spiel und dann den Trainer starten');  
    Application.Terminate;  
    end;  
  buf := '';    
  for i := 1 to numbernops do  buf := buf + $90;    
  GetWindowThreadProcessId(c,@c); //Get ProcessID and ignore ThreadID    
  c:=OpenProcess(PROCESS_ALL_ACCESS,False,c);  //Get ProcessHandle    
  WriteProcessMemory(c,Ptr(CodeAddr),buf,numberNops,write);    
  WriteProcessMemory(c,Ptr(CodeAddr),buf,numberNops,write);    
  CloseHandle(c);  
  showmessage('Geld eingefroren!');  
end;  

 
procedure TForm1.FormCreate(Sender: TObject);  
begin  
WriteProcMem('Counter-Strike Source'$2205AE102);
end;

_________________
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 16:48 
bei 2 bytes hängt das spiel wenn ich eetwas kaufe dann höre ich 2 fehlermeldungen kann das spiel aber nicht beenden, den anderen code probiere ich gleich aus
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 16:59 
jetzt hängt sich das spiel nicht mehr auf da kommt ne fehlermeldung das hatte ich auch schonmal !
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 17:23 
probiers mal mit 3, 4 , 5 - irgendwann hast du den richtigen wert.

huch ? bei zeile 17 und 18 steht bei dir derselbe befehl ? warum das ? macht doch keinen sinn
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:08 
nicht bei mir war ne idee von webspace naja ich werd rumprobieren bis ichs hab (komisch dass es bei tsearch fehlerfrei funzt)
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:51 
retnyg hat folgendes geschrieben:
huch ? bei zeile 17 und 18 steht bei dir derselbe befehl ? warum das ? macht doch keinen sinn

Ich weiß, dass es eigentlich keinen Sinn macht, jedoch hab ich die Erfahrung gemacht, dass mein Trainer irgendwie erst funktioniert hat, nachdem ich zum zweiten Mal auf den Button geklickt hab. Also hab ich die Write(..)Prozedur einfach nochmal reingeschrieben und es hat auch bei ersten Klick geklappt...

Ihr könnt jetzt von mir aus auf mir rumhacken, aber mir ist es lieber, dass etwas funktioniert, als dass ich mir nächtelang überleg warum... :D :wink:

//EDIT: @F34r0fTh3D4rk
Hast du schon mal mehrmals nach der "Ändere-den-folgenden-Wert"-Adresse (also die mit dem Assembler) gesucht, weil bei mir, bei meinem SCPT-Trainer gab es irgendwie zwei Adressen, die sich "abgewechselt" haben. Einmal die eine, dann die andere. Ich hab dann einfach bei reingeschrieben.

_________________
Steht der Bauer im Gemüse, hat er später grüne Füße.


Zuletzt bearbeitet von WeBsPaCe am Mo 10.01.05 20:04, insgesamt 2-mal bearbeitet
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:53 
bei mir hängt das spiel danach auch net mehr es stürzt gleich ab ich finds auch besser :D