• 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 Coding Visual Basic 6, VB.NET
« Zurück 1 2 3 4 Weiter »
Code Injekten in VB

Seiten (2): 1 2 Weiter »
Ansichts-Optionen
Code Injekten in VB
chesar Offline
Member
***
Beiträge: 218
Themen: 36
Registriert seit: Aug 2010
Bewertung: 0
#1
07.07.2011, 19:40
Hey Leute,

Wie ich ich in CE ein Code Injekten machen kann ist soweit klar, aber wie schreibt man das alles in VB?
Hab sämtliche Tuts angeguckt, durch gelesen aber keines brachte mich weiter.

Das ist z.b. die Code Injektion für Crysis 1 (1.9 Original) UE Ammo:

Code:
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
[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048) //2kb should be enough
label(returnhere)
label(originalcode)
label(exit)

newmem: //this is allocated memory, you have read,write,execute access
//place your code here
mov [eax+04],999
originalcode:
//mov [eax+04],ecx
mov al,01

exit:
jmp returnhere

"Crysis2.exe"+BF1CB7:
jmp newmem
returnhere:

[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
"Crysis2.exe"+BF1CB7:
mov [eax+04],ecx
mov al,01
//Alt: db 89 48 04 B0 01


Aber wie schreibst man das alles in VB :(

Danke für eure Hilfe.

Suchen
Antworten
DNA Offline
Administrator
*******
Beiträge: 1.330
Themen: 123
Registriert seit: May 2010
Bewertung: 26
#2
07.07.2011, 20:20
Hey,

du musst die codeinjection ausführen und dir die Bytes rauskopieren, die
geschrieben wurden ...
Wie du diese Bytes dann in einen VB code verpackst, kannst du meinem
VB Trainer Tutorial entnehmen.

Allerdings wird das für dich so noch ne harte nuss, da deine CE CI mit AllocatedMemory
arbeitet und das ist für einen "Anfänger" in sachen VB nicht einfach ...
Nimm am besten feste CodeCave Adressen, sofern dies möglich ist.
ACHTUNG: Lesen gefährdet die Dummheit

[Bild: dna-sig.gif]
Suchen
Antworten
iNvIcTUs oRCuS Offline
Super Moderator
****
Beiträge: 2.688
Themen: 529
Registriert seit: Aug 2010
Bewertung: 19
#3
07.07.2011, 20:38
Feste Codecave Addys sind immer möglich. Da in jeter EXE zwichen den einzelnen Sections freie Stellen sind.
Irren ist menschlich. Aber wer richtigen Mist bauen will, braucht einen Computer !!!

Traineranfragen per PM werden prinzipiell gelöscht...

[Bild: signatur6akm7.gif]
Suchen
Antworten
DNA Offline
Administrator
*******
Beiträge: 1.330
Themen: 123
Registriert seit: May 2010
Bewertung: 26
#4
07.07.2011, 21:40
Hmm? Bei mir nicht ... bei einigen spielen ändert sich die CodeCave Addi.
Es sei denn du meinst jetzt z.B. Codecave = Base + 12345 ?
ACHTUNG: Lesen gefährdet die Dummheit

[Bild: dna-sig.gif]
Suchen
Antworten
Acubra Offline
Trainermaker
****
Beiträge: 904
Themen: 127
Registriert seit: Oct 2010
Bewertung: 6
#5
08.07.2011, 01:16
(07.07.2011, 20:38)sILeNt heLLsCrEAm schrieb: Feste Codecave Addys sind immer möglich. Da in jeter EXE zwichen den einzelnen Sections freie Stellen sind.

Hey,
ich hatte schon viele Spiele in denen es zwar temporär feste Codecave Adressen gab, aber wenn man das Spiel neu gestartet hat war die ModuleBase der .exe eine andere und somit glaube ich auch der "freie" Code für die CodeInjection an einer anderen Stelle. Bzw. selbst wenn die Adresse der Codecave sich nicht ändert, so ändern sich jedoch die Bytes des Jumpbefehls (also die Bytes nach E9) und wenn man nicht weiss wie man die berechnet, dann kommt man bei diesen Spielen auf jeden Fall schonmal nicht weiter.
"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
#6
08.07.2011, 02:20
Glaub ich net... Basisadresse + 08/15 ist immer gleich ansonsten reden wir hier von Kopierschützen und Polymorphen Code.

Selbst in einer DLL ist der Code ausgehend von der Basisadresse immer gleich.

Eben genau das was DNA in seinem Post davor geschrieben hat.
Irren ist menschlich. Aber wer richtigen Mist bauen will, braucht einen Computer !!!

Traineranfragen per PM werden prinzipiell gelöscht...

[Bild: signatur6akm7.gif]
Suchen
Antworten
Acubra Offline
Trainermaker
****
Beiträge: 904
Themen: 127
Registriert seit: Oct 2010
Bewertung: 6
#7
08.07.2011, 02:28
(08.07.2011, 02:20)sILeNt heLLsCrEAm schrieb: Glaub ich net... Basisadresse + 08/15 ist immer gleich ansonsten reden wir hier von Kopierschützen und Polymorphen Code.

Selbst in einer DLL ist der Code ausgehend von der Basisadresse immer gleich.

Eben genau das was DNA in seinem Post davor geschrieben hat.

Hey,
ja BaseAdress +Offset sollten immer gleich sein, ich glaub ich habe dich dann falsch verstanden. Ich meinte das die VirtualAddress dann immer eine andere ist. Dann muss man erst die ImageBase von abziehen, um die RelativeVirtualAddress zu bekommen (soweit ich das verstanden habe).
"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
#8
08.07.2011, 03:06
Richtig!

Das die Virtuelle Adresse anders sein kann sieht man ja ganz deutlich bei einer DLL. Aber eben ImageBase/ModulBase + Offset = Virtual Adress. Somit sind auch die Sprungweiten immer gleich. Das sieht man auch schön bei den DLL's.

Womit es ein Problem geben könnte ist, wenn man einen eigenen Check mit einbaut.
Wenn man z.b. zu seinem Geld etwas hinzuaddieren möchte und die Cheats in der DLL stehen und die Codeinjection z.b. folgendermaßen aussieht...
[code=ASM]
10800400 - 80 3D 00038010 01 - cmp byte ptr [10800300], 0x01
10800407 - 75 11 - jne 1080041A
10800409 - 81 80 F2050000 10270000 - add [eax+000005F2], 0x2710h
10800413 - C6 05 00038010 00 - mov byte ptr [10800300], 0x00
1080041A - Originalcode wiederherstellen und Jump raus aus Codecave
[/code]
Wenn also an Adresse 10800300 das Byte 01 gefunden wird, bzw. der Vergleich erfolgreich ist, wird der Cheat ausgeführt ansonsten ganz normal fortgefahren. In einer EXE mit fester Modulbasis klappt das perfekt, aber bei einer DLL z.b. kann beim nächsten Start diese schon wieder nicht dieselbe Modulbasis haben, aber geprüft würde nachwievor das Byte an Adresse 10800300. Und der Befehl das nach dem Ausführen des Cheats an selbiger Adresse das Byte auf den Wert 0 zurückgesetzt wird kann somit auch fatale Folgen haben...
Irren ist menschlich. Aber wer richtigen Mist bauen will, braucht einen Computer !!!

Traineranfragen per PM werden prinzipiell gelöscht...

[Bild: signatur6akm7.gif]
Suchen
Antworten
DNA Offline
Administrator
*******
Beiträge: 1.330
Themen: 123
Registriert seit: May 2010
Bewertung: 26
#9
08.07.2011, 08:35
Nun, dann sind wir eigentlich genau da was ich meinte, die codecaves haben
"nicht wirklich" eine feste addi und somit für einen Anfänger nicht
so leicht zu handhaben.

Mal schauen, vielleicht kommt von mir bald mal nen tutorial dazu
inkl. neuem Trainermodul zur Berechnung der jmp Bytes.
ACHTUNG: Lesen gefährdet die Dummheit

[Bild: dna-sig.gif]
Suchen
Antworten
iNvIcTUs oRCuS Offline
Super Moderator
****
Beiträge: 2.688
Themen: 529
Registriert seit: Aug 2010
Bewertung: 19
#10
08.07.2011, 13:19
Das tut aber bei Sprüngen nichts zur Sache. Denn in der ASM Schreibweise wird ja nicht geschrieben von Wo nach Wohin gesprungen wird, sondern wie weit. Und die Sprungweite zurück ist demnach auch immer die gleiche, also bis nach dem Jump zur Codecave.
Wo sollte also das Problem liegen?

Mal abgesehen davon hat Crysis 2 keine variable Modulbasis.
Irren ist menschlich. Aber wer richtigen Mist bauen will, braucht einen Computer !!!

Traineranfragen per PM werden prinzipiell gelöscht...

[Bild: signatur6akm7.gif]
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