WarRock EU - Code Snippets

11/11/2011 14:23 xTriplexXx#5776
Quote:
Originally Posted by Dogukan47 View Post
also ich mach bei olly rechtsklick->search->for all referenced text string aber das ist nicht da :(
Du benutzt nicht Ida Pro, oder?
11/11/2011 14:27 Dogukan47#5777
ne aber falls du weist wie es mit ida geht lade ich es runter :)
11/11/2011 14:45 xTriplexXx#5778
Quote:
Originally Posted by Dogukan47 View Post
ne aber falls du weist wie es mit ida geht lade ich es runter :)
Was brauchst du denn genau?
11/11/2011 14:46 Dogukan47#5779
also ich hab jetzt ida pro hab damit dumped wr geöffnet ich weis z.B. das man bei palyerpointer Dx01 suchen muss aber wo geb ich das ein :)?
11/11/2011 14:49 xTriplexXx#5780
Quote:
Originally Posted by Dogukan47 View Post
also ich hab jetzt ida pro hab damit dumped wr geöffnet ich weis z.B. das man bei palyerpointer Dx01 suchen muss aber wo geb ich das ein :)?
du kannst z.B. oben links(da ist so ein knopf)anklicken und dann nach nem Text suchen...
11/11/2011 14:59 Dogukan47#5781
eine frage was ist hier der playerpointer? bzw. wie erkenn ich in welcher zeile er steht?:
11/11/2011 20:57 xBioK1ngz#5782
Quote:
Originally Posted by Dogukan47 View Post
eine frage was ist hier der playerpointer? bzw. wie erkenn ich in welcher zeile er steht?:
Quote:
Die Methode mit dem String "DX01" hat Gamersfirst gepatcht.
Code:
CPU Disasm
Address   Hex dump          Command                                  Comments
0051F63D  |.  8B0D D4579E00 MOV ECX,DWORD PTR DS:[9E57D4] <-- Player Pointer
0051F643  |.  8B81 34C40000 MOV EAX,DWORD PTR DS:[ECX+0C434]
0051F649  |.  0FB789 DA0101 MOVZX ECX,WORD PTR DS:[ECX+101DA] <-- Weapon Offset
0051F650  |.  51            PUSH ECX                                 ; /Arg1
0051F651  |.  E8 7CE5EFFF   CALL 0041DBD2                            ; \WarRock.0041DBD2
0051F656  |.  8BF8          MOV EDI,EAX
0051F658  |.  897C24 14     MOV DWORD PTR SS:[LOCAL.16],EDI
0051F65C  |.  3BFE          CMP EDI,ESI
0051F65E  |.  0F84 81060000 JE 0051FCE5
0051F664  |.  8B43 38       MOV EAX,DWORD PTR DS:[EBX+38]
0051F667  |.  B1 01         MOV CL,1
0051F669  |.  E8 729A0B00   CALL 005D90E0
0051F66E  |.  8D4424 18     LEA EAX,[LOCAL.15]
0051F672  |.  50            PUSH EAX                                 ; /Arg1 => OFFSET LOCAL.15
0051F673  |.  8BCF          MOV ECX,EDI                              ; |
0051F675  |.  E8 56D50700   CALL 0059CBD0                            ; \WarRock.0059CBD0
0051F67A  |.  897424 50     MOV DWORD PTR SS:[LOCAL.1],ESI
0051F67E  |.  8B30          MOV ESI,DWORD PTR DS:[EAX]
0051F680  |.  E8 DBD30700   CALL 0059CA60
0051F685  |.  8B4B 38       MOV ECX,DWORD PTR DS:[EBX+38]
0051F688  |.  6A 02         PUSH 2                                   ; /Arg2 = 2
0051F68A  |.  50            PUSH EAX                                 ; |Arg1
0051F68B  |.  E8 C0B50B00   CALL 005DAC50                            ; \WarRock.005DAC50
0051F690  |.  834C24 50 FF  OR DWORD PTR SS:[LOCAL.1],FFFFFFFF
0051F695  |.  8D4C24 18     LEA ECX,[LOCAL.15]
0051F699  |.  8BF0          MOV ESI,EAX
0051F69B  |.  E8 00D90700   CALL 0059CFA0                            ; [WarRock.0059CFA0
0051F6A0  |.  68 CC028200   PUSH 008202CC                            ; ASCII "DJ33" <-- Search String
11/11/2011 21:16 Dogukan47#5783
thx^^ hat mir geholfen
so? 0x09E57D4
ist das die water height adresse? 9EC964
und das fogcolor?
1: 9E64A8
2: 9E64A4
3:9E64A0
€: ist das noch serverpointer? CF01
und sagen wir ich habe eine adresse z.B. 0x001CF8 (playersize) die adresse wär dann ja 001CF8 denke ich mal und wenn ich nun nach den string in der nähe von der adresse suchen will dann muss ich ja erstmal finden an welcherstelle die adresse steht weist du/jemand wie ich in olly oder ida nach dieser adresse suchen kann?
11/11/2011 22:22 .Crasy#5784
Wenn sie DX01 Patched haben, glaub ich das sie CF01 auch Patched haben.
11/11/2011 22:26 Dogukan47#5785
Quote:
Originally Posted by .Crasy View Post
Wenn sie DX01 Patched haben, glaub ich das sie CF01 auch Patched haben.
ok danke
und kannst mir dabei helfen?
Quote:
und sagen wir ich habe eine adresse z.B. 0x001CF8 (playersize) die adresse wär dann ja 001CF8 denke ich mal und wenn ich nun nach den string in der nähe von der adresse suchen will dann muss ich ja erstmal finden an welcherstelle die adresse steht weist du/jemand wie ich in olly oder ida nach dieser adresse suchen kann?
11/12/2011 10:29 hero9910#5786
Code:
		if (idle134 ==1)
{
DWORD dwPlayerPtr = *(DWORD*)ADR_PLAYERPOINTER;
if(dwPlayerPtr!= 0)
{
*(float*)(dwPlayerPtr+ OFS_NOM134IDLE) = 1;
}
}
ich habe keine M134 wäre schön wenn einer testen kann..
oder von vorne rein sagen kan das es nicht geht..(der 2te teil geht nur an gute coder und nicht an welche die nicht mal 100 beiträge und 2 hacks releast haben ;))
11/12/2011 11:19 ■DarknessIM■#5787
if (idle134 ==1)
{
DWORD dwPlayerPtr = *(DWORD*)ADR_PLAYERPOINTER; //Das braucht man eig. nur einmal
if(dwPlayerPtr!= 0)
{
*(float*)(dwPlayerPtr+ OFS_NOM134IDLE) = 1;
}
}



Also der rote teil ist eig. unnötig:D
Und ja du kannst es schon testen

Brauchst nur :

Code:
#define OFS_Weapon1 0x101D8
#define OFS_Weapon2 0x101DA
#define OFS_Weapon3 0x101DC

*(word*)(dwPlayerPtr+OFS_Weapon1) = /*Nummer Der Waffe*/;
*(word*)(dwPlayerPtr+OFS_Weapon2) = /*Nummer Der Waffe*/;
*(word*)(dwPlayerPtr+OFS_Weapon3) = /*Nummer Der Waffe*/;

Credits:SubZerom & UPK
11/12/2011 12:44 xTriplexXx#5788
Quote:
Originally Posted by _BlackOne View Post
if (idle134 ==1)
{
DWORD dwPlayerPtr = *(DWORD*)ADR_PLAYERPOINTER; //Das braucht man eig. nur einmal
if(dwPlayerPtr!= 0)
{
*(float*)(dwPlayerPtr+ OFS_NOM134IDLE) = 1;
}
}



Also der rote teil ist eig. unnötig:D
Und ja du kannst es schon testen
Code:
if(idle134[COLOR="Red"] ==1[/COLOR])
[COLOR="Red"]{
DWORD dwPlayerPtr = *(DWORD*)ADR_PLAYERPOINTER;
if(dwPlayerPtr!= 0)
{[/COLOR]
*(float*)(dwPlayerPtr+ OFS_NOM134IDLE) = 1;
[COLOR="Red"]}
}[/COLOR]
Das was in Rot ist, kann man auch noch weglassen und die definierung einfach 1 mal oben hinschreiben...

Naja, jeder wie er es will :p
11/12/2011 12:58 xBioK1ngz#5789
Quote:
Originally Posted by Dogukan47 View Post
thx^^ hat mir geholfen
so? 0x09E57D4
ist das die water height adresse? 9EC964
und das fogcolor?
1: 9E64A8
2: 9E64A4
3:9E64A0
€: ist das noch serverpointer? CF01
und sagen wir ich habe eine adresse z.B. 0x001CF8 (playersize) die adresse wär dann ja 001CF8 denke ich mal und wenn ich nun nach den string in der nähe von der adresse suchen will dann muss ich ja erstmal finden an welcherstelle die adresse steht weist du/jemand wie ich in olly oder ida nach dieser adresse suchen kann?
Code:
CPU Disasm
Address   Hex dump          Command                                  Comments
00498B76  |.  68 247C8200   PUSH 00827C24                            ; ASCII "DestoryMission Success"
00498B7B  |.  50            PUSH EAX
00498B7C  |.  C605 8F549E00 MOV BYTE PTR DS:[9E548F],1
00498B83  |.  FF51 08       CALL DWORD PTR DS:[ECX+8]
00498B86  |.  59            POP ECX
00498B87  |.  59            POP ECX
00498B88  |.  B0 01         MOV AL,1
00498B8A  \.  C3            RETN
00498B8B  /.  53            PUSH EBX
00498B8C  |.  55            PUSH EBP
00498B8D  |.  56            PUSH ESI
00498B8E  |.  33ED          XOR EBP,EBP
00498B90  |.  57            PUSH EDI
00498B91  |.  8B3D 34468100 MOV EDI,DWORD PTR DS:[814634]            ; Entry point
00498B97  |.  BB 94010000   MOV EBX,194
00498B9C  |.  392D 54579E00 CMP DWORD PTR DS:[9E5754],EBP[B][U][COLOR="Red"] --> Unlimited Ammo[/COLOR][/U][/B]
00498BA2  |.  74 74         JE SHORT 00498C18
00498BA4  |.  E8 3DC90300   CALL 004D54E6
00498BA9  |.  39A8 B0C40000 CMP DWORD PTR DS:[EAX+0C4B0],EBP
00498BAF  |.  74 50         JE SHORT 00498C01
00498BB1  |.  53            PUSH EBX
00498BB2  |.  6A 01         PUSH 1
00498BB4  |.  FFD7          CALL EDI
00498BB6  |.  8BF0          MOV ESI,EAX
00498BB8  |.  59            POP ECX
00498BB9  |.  59            POP ECX
00498BBA  |.  3BF5          CMP ESI,EBP
00498BBC  |.  75 06         JNE SHORT 00498BC4
00498BBE  |.  FF15 3C468100 CALL DWORD PTR DS:[81463C]
00498BC4  |>  E8 1DC90300   CALL 004D54E6
00498BC9  |.  8B80 B0C40000 MOV EAX,DWORD PTR DS:[EAX+0C4B0]
00498BCF  |.  8B80 AC030000 MOV EAX,DWORD PTR DS:[EAX+3AC]
00498BD5  |.  55            PUSH EBP
00498BD6  |.  56            PUSH ESI
00498BD7  |.  6A FF         PUSH -1
00498BD9  |.  8946 18       MOV DWORD PTR DS:[ESI+18],EAX
00498BDC  |.  A1 70579E00   MOV EAX,DWORD PTR DS:[9E5770][B][U][COLOR="Red"] --> Serverpointer[/COLOR][/U][/B]
00498BE1  |.  8B80 F8B71100 MOV EAX,DWORD PTR DS:[EAX+11B7F8][B][U][COLOR="Red"] --> MySize[/COLOR][/U][/B]
11/12/2011 17:42 WarFk#5790
An BlackOne für den Weapon Hack gehen die Credits aber ganz bestimmt nicht an SubZerom oder UPK....Ist so mega alt wäre als ob man Credits für Superjump an Hans gibt.
;)

EDIT:
Ihr könntet natürlich credits kriegen wenn ihr es "sauber" macht:
Code:
void W_Hack(DWORD x)
{*(DWORD*)(*(DWORD*)(ADR_PlayerPointer)+OFS_WeaponHack1) =x;
*(DWORD*)(*(DWORD*)(ADR_PlayerPointer)+OFS_WeaponHack2) =x;
*(DWORD*)(*(DWORD*)(ADR_PlayerPointer)+OFS_WeaponHack3) =x;}
Code:
if(kcHack.Weapon.Weapon_H)
W_Hack(*(DWORD*)kcHack.Weapon.Weapon_H);