• Trainer
  • Forums
  • Suche
  • Members
  • Kalender
  • Hilfe
  • Extras
Forum stats
Show team
Neue Beiträge ansehen
Heutige Beiträge ansehen
Home of Gamehacking - Archiv
Login to account Create an account
Login
Benutzername:
Passwort: Passwort vergessen?
 



  Home of Gamehacking - Archiv Gamehacking Gamehacking
« Zurück 1 ... 4 5 6 7 8 Weiter »
CodeInjection in VB? Wie?

Seiten (2): 1 2 Weiter »
Ansichts-Optionen
CodeInjection in VB? Wie?
chesar Offline
Member
***
Beiträge: 218
Themen: 36
Registriert seit: Aug 2010
Bewertung: 0
#1
31.01.2011, 18:51
Ich wünsche mir ein TuT über Code Injecten in Vb.
wenn das einer machen würde, würde ich mich echt freuen.
Da ich leider nichts zum Thema gefunden habe und ich nicht weiter komme.

:heart:
Suchen
Antworten
DNA Offline
Administrator
*******
Beiträge: 1.330
Themen: 123
Registriert seit: May 2010
Bewertung: 26
#2
31.01.2011, 19:40
Da schonmal reingeschaut?
http://homeofgamehacking.de/showthread.php?tid=57
Da wird auch erklärt, wie man mit VB eine CI umsetzt.
ACHTUNG: Lesen gefährdet die Dummheit

[Bild: dna-sig.gif]
Suchen
Antworten
chesar Offline
Member
***
Beiträge: 218
Themen: 36
Registriert seit: Aug 2010
Bewertung: 0
#3
31.01.2011, 20:20
Ja bestimmt schon 20 mal angeguckt, aber ich versteh nicht was du da genau mit tsearch machst.
Ich habe mein Code für die Injektion in CE fertig aber dann......... Huh
Suchen
Antworten
Acubra Offline
Trainermaker
****
Beiträge: 904
Themen: 127
Registriert seit: Oct 2010
Bewertung: 6
#4
31.01.2011, 20:57
Hey,
das Prinzip zur Codeinjection ist immer das Gleiche.
Man hat mit einem Debugger eine Stelle im Code des Spiels gefunden und möchte diese nun nach seinen Wünschen verändern.

Hier mal ein einfaches Beispiel:
Wir sehen uns folgenden fiktiven Code an.

Code:
012813D4         A1 00404000              MOV EAX,DWORD PTR DS:[404000]
012813D9         83E8 01                  SUB EAX,1
012813DC         A3 00404000              MOV DWORD PTR DS:[404000],EAX                                   

Wir haben jetzt im Debugger festgestellt, das 404000 unsere aktuelle Munition enthält. Nun sehen wir das der Wert der Ammoadresse nach eax verschoben wird, dann um 1 vermindert wird und dann wieder in die Ammoadresse geschoben wird.
Eine mögliche Codeinjection wäre nun:

Code:
1
2
3
4
5
6
7
012813D4         A1 00404000              MOV EAX,DWORD PTR DS:[404000]
012813D9         83E8 01                  SUB EAX,1
012813DC         E9 23050000              JMP ingameCl.01281904

01281904         B8 99090000              MOV EAX,999
01281909         A3 00404000              MOV DWORD PTR DS:[404000],EAX                                   
0128190E       ^ E9 CEFAFFFF              JMP ingameCl.012813E1


Nun gucken wir uns die Bytes zu den Opcodes an. Diese müssen wir einfach an die richtigen Adressen mit WriteProcessMemory schreiben und schon ist unsere Codeinjection fertig.

"Auf dieser Welt gibt es mehr Scheisse als auf Festivalklos"
[Bild: hoglogo_smalpxga.jpg]
Homepage Suchen
Antworten
iNvIcTUs oRCuS Offline
Super Moderator
****
Beiträge: 2.688
Themen: 529
Registriert seit: Aug 2010
Bewertung: 19
#5
31.01.2011, 21:06
Kurz und knapp...

Riiichtiiiiig!
Irren ist menschlich. Aber wer richtigen Mist bauen will, braucht einen Computer !!!

Traineranfragen per PM werden prinzipiell gelöscht...

[Bild: signatur6akm7.gif]
Suchen
Antworten
chesar Offline
Member
***
Beiträge: 218
Themen: 36
Registriert seit: Aug 2010
Bewertung: 0
#6
01.02.2011, 18:34
Ich glaub ich bin echt zu doof :dodgy:
mein code in CE sieht z.b. so aus

Zitat:alloc(newmem,2048) //2kb should be enough
label(returnhere)
label(originalcode)
label(exit)

newmem:
mov dword[eax+04], f423f
//this is allocated memory, you have read,write,execute access
//place your code here

originalcode:
mov [eax+04],edx
pop edi
ret

exit:
jmp returnhere

"BlackOps.exe"+11CF2B:
jmp newmem
returnhere:

und wie soll ich das in VB schreiben?
Suchen
Antworten
iNvIcTUs oRCuS Offline
Super Moderator
****
Beiträge: 2.688
Themen: 529
Registriert seit: Aug 2010
Bewertung: 19
#7
01.02.2011, 18:56
Ganz einfach... Du schreibst nicht das was Du da in dem Script siehst (also die Opcodes), sondern die zugehörigen Bytes als "Array of Bytes". Wie das aussieht wurde hier schon in diversen Tutorials gezeigt.
Bsp.:
Zitat:0137188A - 8B 44 24 04 - mov eax,[esp+04]
0137188E - 8B 00 - mov eax,[eax]

Du schreibst also durch Deinen Trainer nicht explizit "mov eax,[esp+04]" und "mov eax,[eax]", sondern Du schreibst einfach das ganze Array. Also schreibst Du "8B 44 24 04 8B 00". Eingefügt wird das ganze an Adresse 0x137188Ah. Das ist der ganze Zauber...
Irren ist menschlich. Aber wer richtigen Mist bauen will, braucht einen Computer !!!

Traineranfragen per PM werden prinzipiell gelöscht...

[Bild: signatur6akm7.gif]
Suchen
Antworten
chesar Offline
Member
***
Beiträge: 218
Themen: 36
Registriert seit: Aug 2010
Bewertung: 0
#8
01.02.2011, 20:20
Langsam wird das Licht Heller.....

meinst du die Bytes die auf dem Bild zu sehen sind?
oder welchen Bereich meinst du?
Und wie oder was macht DNA in seinem TuT?

[Bild: cutqppg32jwe.png]

:heart:
Suchen
Antworten
iNvIcTUs oRCuS Offline
Super Moderator
****
Beiträge: 2.688
Themen: 529
Registriert seit: Aug 2010
Bewertung: 19
#9
01.02.2011, 20:39
Die Idee seines "TMK to VB Autopatcher Converter" ist die das aus einem TSearch "Poke xxxxxxxxx" ein Visual Basic konformes Format wird. Es entfällt praktisch die Arbeit sämtliche Zeilen Code selbst zu schreiben.

Und genau diese Idee hab ich mit meinem Tool für Delphi verfolgt. Siehe z.b. hier... HEX to Array Convert
Im Endeffekt sind diese Tools nicht zwingend notwendig um einen Trainer zu schreiben. Sie erleichtern nur einem enorm die Arbeit.

Das was Du mit deinem Trainer in einen Prozess schreibst sind die Bytes, bzw. die Zeichenkette die hinter "Poke 'Adresse0815' " steht. Also in deinem Beispiel müsste dein Trainer die Bytes "C7 87 2C 03 00 00 E7 03 00 00 8B" an Adresse 0x11EAEA8h in den Prozess BlackOps.exe einfügen.
Irren ist menschlich. Aber wer richtigen Mist bauen will, braucht einen Computer !!!

Traineranfragen per PM werden prinzipiell gelöscht...

[Bild: signatur6akm7.gif]
Suchen
Antworten
ABartX Offline
Member
***
Beiträge: 152
Themen: 9
Registriert seit: Oct 2010
Bewertung: 1
#10
01.02.2011, 22:08 (Dieser Beitrag wurde zuletzt bearbeitet: 01.02.2011, 22:10 von ABartX.)
driften wir hier nicht etwas in's offtopic rein Happy

@ chesar
übrigens dein script oben wird so nicht richtig funktionieren Wink

so schon eher, kleiner aber feiner unterschied:



alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(exit)

newmem:
mov edx, f423f //so

originalcode:
mov [eax+04],edx
mov [eax+04], f423f //oder so
pop edi
ret

exit:
jmp returnhere

"BlackOps.exe"+11CF2B:
jmp newmem
returnhere:

greetz ABartX
Slow Down. Take it Easy Cool
Suchen
Antworten
Share Thread:            
Seiten (2): 1 2 Weiter »


  • Druckversion anzeigen
  • Thema abonnieren


Benutzer, die gerade dieses Thema anschauen:
1 Gast/Gäste

  • Kontakt
  • Forum team
  • Forum stats
  • Nach oben
 
  • RSS-Synchronisation
  • Lite mode
  • Home of Gamehacking - Archiv
  • Help
 
Forum software by © MyBB - Theme © iAndrew 2014



Linearer Modus
Baumstrukturmodus