Gjakmarrja Skrevet 24. juli 2006 Forfatter Del Skrevet 24. juli 2006 Noen som har noen bra verktøy til å logge pakker med? 6550141[/snapback] Wireshark (tidligere Ethereal) skulle vel klare jobben? Gratis, hvertfall. 6550455[/snapback] Takk takk fant det selv med googlinga. Men vet du hvordan jeg kan filtrere ut pakker fra BF2.exe prosessen? Lenke til kommentar
Zethyr Skrevet 25. juli 2006 Del Skrevet 25. juli 2006 Kan prøve deg på en litt kjip en og sørge for at TCP (eller er det UDP?) 'ispresent'. Evt kan du jo se om du finner noe i pakke-headeren du kan søke etter. Vi kan jo snart skrive bok ut fra svarene på alle spørsmålene du stiller, leter du aldri selv? Lenke til kommentar
Gjakmarrja Skrevet 25. juli 2006 Forfatter Del Skrevet 25. juli 2006 Joda leter, men det er kjekt og få input fra dere også. En ting kan gjøres på flere måter. Lenke til kommentar
Giddion Skrevet 25. juli 2006 Del Skrevet 25. juli 2006 Bare bruk netstat /b (i dos) for å finne porter og stat til nettkortet ditt. Bf2 bruker sannsynligvis både TCP og UDP på LAN (usikker på internett, men det er nok der også) TCP blir vanligvis brukt til å oppdatere viktig info fks skade/død mens UDP blir sikkert brukt til å oppdatere posisjonene. men jeg har ingen ide om hvordan bf2 funker. Bare til informasjon og analysere protokollene til bf2 anses som reverse engineering og som sikkert er i strid med bf2 lisensen(som du sikkert har lest ) mulig også lover og regler. Lenke til kommentar
GeirGrusom Skrevet 25. juli 2006 Del Skrevet 25. juli 2006 ...Men det er lov i norge, og dermed strider lisensen til BF2 med Norges lover og ses på som ikke gyldig. reverse engineering er lovlig hvis du vil for å forbedre koden til eget bruk. Når det gjelder wallhack, så fungerer den som et program som legger til programkode til programmet som skal kjøre, det trenger ikke være skrevet i assembly i det hele tatt, men koden som skal bli lagt til, må være i maskinkodeformat (duh!) siden det skal bli kjørt direkte av OS-et Grunnen til at en (da spesielt i ID spill) ikke bare kan f.eks. få en dll til å kjøre glColorf funksjon, og gjøre ting gjennomsiktig på den måten (eller glFaceMode(GL_LINE) ) er fordi hver OpenGL context er beskyttet av hver thread, og kan ikke kjøre OpenGL kommandoer på tvers av hverandre, derfor må koden som gjør dette, tilhøre programmet som skal tweakes. Samme grunn som at mange C dll-er alltid har en egen free funksjon. Lenke til kommentar
Gjakmarrja Skrevet 25. juli 2006 Forfatter Del Skrevet 25. juli 2006 (endret) Dette er KUN for å lære seg om dette, jeg har ingen som helst planet om å gi ut en noe til BF2. Jeg har uansett ikke på langt nær nok kunnskaper/erfaring til å gjennomføre dette. Så det går trengt. Skal man få wallhack til å funke, må vel man starte spillet som en childprocess for å så injecte kode. Men hvis koden ikke trenger å være ASM, hva kan den da være? (Hvis noen helt seriøst tror at denne tråden kommer til å resultere i en fullblods aimbot/wallhack så tar dere grundig feil. Jeg "snuser" på emnet, mine spørsmål burde antydet at det vil ta tid før jeg vil klare å lage noe slikt.) For øvrig fant jeg en guide til å lage "wallgreia" i OpenGL, men BF2 bruker ikke OpenGL. Kan det sammenlignes? Takk for netstat tipset, må jo være et filter som om iallefall ikke støtter process så må det da støtte port. Endret 25. juli 2006 av chills Lenke til kommentar
Zethyr Skrevet 25. juli 2006 Del Skrevet 25. juli 2006 Men hvis koden ikke trenger å være ASM, hva kan den da være? 6552962[/snapback] C f.eks.? Må bare kompileres (som du jo må for å lage loaderen også). Jeg har jo tidligere gitt deg eg god lenke på msn, hvor det står en del om å lage loadere som poke'r minne-adresser osv. osv. Begynn der, så kanskje du fattar mer. Lenke til kommentar
Gjakmarrja Skrevet 25. juli 2006 Forfatter Del Skrevet 25. juli 2006 Jah okei. Jeg kjørte nå UDP og TCP pakkesniffer når jeg spilte en stund, er informasjonen som sendes kryptert? Den kan vel være det. Frame 13402 (629 bytes on wire, 629 bytes captured)Ethernet II, Src: Netopia_0b:89:08 (00:0f:cc:0b:89:08), Dst: AsustekC_d9:c6:ad (00:11:d8:d9:c6:ad) Internet Protocol, Src: 72.36.225.210 (72.36.225.210), Dst: 10.0.0.5 (10.0.0.5) Version: 4 Header length: 20 bytes Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00) Total Length: 615 Identification: 0xd912 (55570) Flags: 0x00 Fragment offset: 0 Time to live: 114 Protocol: UDP (0x11) Header checksum: 0x3978 [correct] Source: 72.36.225.210 (72.36.225.210) Destination: 10.0.0.5 (10.0.0.5) User Datagram Protocol, Src Port: 16567 (16567), Dst Port: 1667 (1667) Source port: 16567 (16567) Destination port: 1667 (1667) Length: 595 Checksum: 0x7785 [correct] Data (587 bytes) 0000 cf f0 ca ff ff ff ff 42 02 54 14 0c 00 b0 d8 4a .......B.T.....J 0010 34 af 00 00 ce ae b4 43 0e 63 cb 42 fd 9e 74 c3 4......C.c.B..t. 0020 84 07 e4 ff ff 07 00 00 00 80 01 00 00 00 60 00 ..............`. 0030 00 00 00 c0 f3 f1 bf e0 14 00 1c 00 00 00 00 06 ................ 0040 00 00 00 80 00 00 60 c5 d7 00 00 60 00 00 00 00 ......`....`.... 0050 18 00 00 00 00 06 00 00 00 80 48 4f 44 34 09 ba ..........HOD4.. 0060 2e c2 3f 89 d6 20 0f e0 ff fb ff fb ff fb ff fb ..?.. .......... 0070 bf ff fb 3f a6 5c 17 f1 92 02 50 10 00 53 ae 88 ...?.\....P..S.. 0080 a0 47 01 58 08 80 5d d7 46 bc a4 00 0c 04 c0 ae .G.X..].F....... 0090 6b 22 e8 51 00 12 02 c0 0c 00 20 a0 19 04 20 34 k".Q...... ... 4 00a0 9a 54 01 00 58 27 03 00 29 00 08 00 80 47 d8 56 .T..X'..)....G.V 00b0 82 13 10 62 74 c1 f5 fa 31 10 86 00 20 d0 34 5e ...bt...1... .4^ 00c0 60 1d 80 d0 d7 01 0c 3d 1d 80 01 00 00 00 00 00 `......=........ 00d0 40 bc 06 46 00 00 04 00 e7 a6 0e 34 64 01 00 20 @..F.......4d.. 00e0 5f 7e 0e f5 52 f6 0a fd 4d 6e 0c 19 00 00 c0 a7 _~..R...Mn...... 00f0 1f 01 f5 d9 0a 90 f0 7f 04 28 0c 0f fc 1f f4 6b .........(.....k 0100 c0 06 14 00 80 9d b4 0d 60 bb 06 3e 51 09 04 9a ........`..>Q... 0110 a5 8b ed 1a 60 f7 e7 83 21 0c 9e 40 b6 72 10 60 ....`[email protected].` 0120 2d ed 00 0c 00 00 00 00 00 00 52 38 60 91 05 00 -.........R8`... 0130 24 3b 10 ca 83 30 36 23 be 78 04 18 da f9 be 3c $;...06#.x.....< 0140 18 5f 04 00 00 00 00 04 a4 27 d0 42 80 2c 03 02 ._.......'.B.,.. 0150 a0 85 03 49 80 40 28 49 86 72 ff 08 f1 9e 9f 01 ...I.@(I.r...... 0160 21 38 00 80 48 6a b9 ff 03 58 8f 81 49 54 02 01 !8..Hj...X..IT.. 0170 45 cb c5 04 14 74 1e 81 30 58 80 d8 53 41 80 24 E....t..0X..SA.$ 0180 b2 03 42 80 44 fb a0 9f c4 ec fe 2f 20 03 23 00 ..B.D....../ .#. 0190 00 02 80 75 63 07 82 b1 00 80 42 9f c1 23 00 6e ...uc.....B..#.n 01a0 ba c6 00 00 07 8a 98 09 d8 f1 7f 7f 00 00 00 20 ............... 01b0 b5 04 d2 58 00 40 d0 c8 c2 15 01 45 48 68 04 00 [email protected].. 01c0 80 f5 bf 45 fc ff 1a 40 00 00 00 00 00 a0 20 03 ...E...@...... . 01d0 87 08 04 02 6d 19 ed 73 13 a0 3c c4 d5 72 02 0e ....m..s..<..r.. 01e0 01 30 04 76 00 06 00 00 00 00 00 00 dd 1d f0 00 .0.v............ 01f0 20 fe 0f 90 cc 01 90 2c 00 80 05 ca 0e 62 d1 7f ......,.....b.. 0200 af 21 5d 03 fb a1 ee d4 0c 14 41 b1 97 48 72 7c .!].......A..Hr| 0210 57 82 ff 13 f8 9c 00 18 01 00 00 04 73 60 2b 0b W...........s`+. 0220 00 e0 9e b7 68 38 f3 fa 66 c8 e7 bf 72 c8 08 05 ....h8..f...r... 0230 10 99 b1 e1 37 55 a8 79 02 01 14 f0 1f 40 00 80 ....7U.y.....@.. 0240 00 00 00 00 20 f6 7f 00 d1 ff f3 .... ...... Dette sier ikke meg så mye. Skal se på de linkene igjen, den ene linken var hvordan du lager en aimbot. Eller liksom selve boten, men jeg trenger fremdeles verdiene fra minnet til BF2. Lenke til kommentar
Giddion Skrevet 25. juli 2006 Del Skrevet 25. juli 2006 (endret) Vel de fleste moderne spill har jo gått over til å bruke shadere så kan det jo være litt lurt å muligens fikse litt på de. Men sansynligvis vil du ende opp med at de du ser gjennom veggen kan forsvinne (pga spille fjerner ting som ikke ville synes ved normalt spilling), men hvis du fant shaderen til folk (samsynligvis den eneste med bein) så kunne man lette forandre den slik at man kunne se de gjennom vegger når de først ble tegnet. Og vær så snill og ikke spill flere timer med snifferen å vent å finne ut av det etterpå. Sett opp et game som er så enkelt som overhode mulig (2 spillere) så utfør enkelte handlinger fks skyt, beveg,skyt og treff SÅ ser du etter unormaliteter SÅ finner du fks skyte pakken. SÅ analyser. edit: og ja pakkene er sansynligvis kryptert. Endret 25. juli 2006 av Giddion Lenke til kommentar
Zethyr Skrevet 25. juli 2006 Del Skrevet 25. juli 2006 Kanskje du kan fyre opp koden i OllyDbg eller IDAPro og se om du finner noen funksjoner som er knyttet opp mot nettverk (let etter funksjoner i export lista først, kanskje?), så kan du se om du kanskje kan få fatt i krypteringsalgoritmene i nærheten i koden. Lenke til kommentar
GeirGrusom Skrevet 25. juli 2006 Del Skrevet 25. juli 2006 Du må f.eks. skyte, og se etter mønster, du må først klare å skille ut en ting, det trenger ikke være kryptert, men det er ikke sikkert noe som helst står i klartekst,det kan være binære koder for alt, men hvis det er kryptert, kan det bli litt mer køddent. Start et multiplayer server, der du er alene, dette vil kun gi deg informasjon fra deg selv, og vil ikke bli enset av noen andre, et godt tips er å ha to skjermer, og få den andre til å vise en hex dump kontinuerlig av hva som skjer, mens du går rundt, og skyter og slikt, så du først kan se mønster, og hva som skjer, før du etterpå går igjennom all data, og ser. Koden som injiseres må være maskinkode, det kan du skrive i hvilket språk du vil, helst gjør du det helt manuelt. Lenke til kommentar
Gjakmarrja Skrevet 29. juli 2006 Forfatter Del Skrevet 29. juli 2006 Jeg sett litt på verdier i minnet mens jeg har spilt. Det jeg har kommet frem til er jo at bare en adresse ikke er nok. Det en adresse som går igjen, men den kan jeg ikke bruke til noe nyttig. Det er antall kuler igjen på "aktivt" våpen. Når det kommer til den adressen som inneholder "kulene", så endrer den seg når man dør. Noe jeg godt kan forstå, da en "levende-spiller" bare er et objekt. Dør man så lages vel et nytt objekt i stedet for å bruke det gamle, regner med det er slik. DMA er vel bare med i leken når spillet starter?!!? Det er jo umulig og "lukte" adressen den klassen vil resververe for den nye "instancen" av objektet. Så jeg må vel bruke nettverk kanskje, sniffing og snusing på nettverks protokoll både i minnet og selve pakkene. Da jeg nesten regner med at den funksjonen som sender spillerens posisjon til server har samme adresse hele tiden (sett bort i fra DMA)? Da vil jeg vel kunne bruke den adressen til å finne posisjon. Men jeg har prøvd å kjøre spillet i Ollydbg, men det går ikke. Angående DMA får jeg vel lese og google litt. Lenke til kommentar
Giddion Skrevet 30. juli 2006 Del Skrevet 30. juli 2006 Jeg vet ikke om dette hjelper, men i programmer som skal ha høy ytelse er det ikke normalt å bruke dynamisk allokering til alle objektene. Man allokerer et stort område så deler programmet ut minne av dette. Det er raskere og man slipper minne tap (pga allokerings info) denne teknikken er kjent som memory pool. Siden alle spillere er objekter er det mulig at navn er med i denne klassene. Mulig du kan finne ammo variablem relativt til navnet (som sikkert er enklere å finne) eller noen andre stats. Lenke til kommentar
Gjakmarrja Skrevet 30. juli 2006 Forfatter Del Skrevet 30. juli 2006 (endret) Alt hjelper her... absolutt alt. Ser litt på hex/anci til alt som ligger i minnet, interessant og få øye på navn på funksjoner og slikt. Litt bekymra over at jeg fant igjen passordet mitt i klartekst da. Edit: Når jeg ser på dataene i minnet ser jeg navn på variabler som jeg kunne tenke meg adressen til. Hvordan kan jeg binde det jeg ser med adresser til verdier? Eller går ikke det? Edit2: Det jeg kan starte med er å skrive kode for lese og endre verdier i minnet. Lage en klasse for dette, C++ eller VB. Med tanke på hastighet C++ kanskje. Det jeg trenger å lage er en "smart-minne-søker", som kan programmeres og endres via innstillinger. F.eks når det kommer til å bevegelse av spiller så er det en del logikk inn i spill, samt det med at hver spiller er et objekt. Det objektet har en samling med info vil jeg tipper, som ammo, våpen, liv osv. Kanskje lagres objekter sammenhengene i minnet? Eller er det random? Det vil si at adresse f.eks 2 er ammo og 3 er liv ikke ammo på 43 og liv på 2330... Alt alt vil jeg si det er fullt mulig å lage dette, men det krever mye arbeid. Kan godt forstå at den ikke finnes noe aimbot til BF2. Iallefall ikke noen public aimbot. Aimverdiene til clienten skulle nå man tro lagres på samme sted, hver gang spillet starter. Klientens egen spiller har vel litt mer verdier enn fienden sin. D3D er vist vanskeligere å "se-på" enn OpenGL. Nei, tid vil det ta. Men etter hvert så jeg får undersøkt og skrevet kode skal jeg oppdatere denne tråden. All hjelp og tanker taes imot med stor TAKK! Endret 31. juli 2006 av chills Lenke til kommentar
Gjakmarrja Skrevet 8. september 2006 Forfatter Del Skrevet 8. september 2006 En liten update da jeg har blitt en del klokere. Etter mye fundering, tenking å søking har kommet meg frem til noen forum som ser ut til å drive eksklusivt med nettopp dette. Jeg er nok ikke så langt unna en aimbot/wallhack, poenget er vel i grunn at det er noen hovedmåter å lage dette på. Da alle spill bruker endten opengl eller D3D så vil det med andre ord si at når du først har lagd en er det ikke vanskelig å lage en til et annet spill. PB SS ser heller ikke ut til å være noe svært problem. Det gjelder altså å skrive sine egne funksjoner i C++, lage et lib av dette. Så injecte dette inn i minne til prosessen, der etter kalle den injecta koden via å modifisere den funksjonen som har med det vi er ute etter å endre. Det viste seg at å debugge Bf2.exe er ikke noe man kan gjøre uten videre i og med at BF2 kjører sine egne debug moduler og hooks må disse rævkjøras før du kan attache en debugger. Så er det bare å single steppe. Når jeg faktisk har skrevet noe selv, å har noe fungerende som jeg selv har laget kildekode på skal skrive en bruker-guide. Er faktisk ganske mye ferdig kode man kan bruke seg av, kode som injecter dll for eksempel... Egne tools til å finne "codeCaves" også... Er små fasinert, trodde ikke dettte var så utbredt. Men det er faktisk kunst dette, flertallet som lager haxs spiller på servere med hax. Alstå Cheat vs Cheat. Med andre ord, det er ikke bare Cs skillz det står på, også hvor god du er til å programmere... omsette 3d til 2d osv. Dette er heller ikke ulovlig egentlig, forumet jeg får kunnskap fra har faktisk en like strikt politikk på #8 som her... Lenke til kommentar
Zethyr Skrevet 8. september 2006 Del Skrevet 8. september 2006 Det viste seg at å debugge Bf2.exe er ikke noe man kan gjøre uten videre i og med at BF2 kjører sine egne debug moduler og hooks må disse rævkjøras før du kan attache en debugger. Så er det bare å single steppe. 6827390[/snapback] Anbefaler alle å skaffe seg boka Reversing: Secrets of Reverse Engineering og lese bl.a. kapittelet der de reverser udokumenterte windows-api'er, og særlig der de reverser en eget program som fåes på bokas nettsted som heter "Defender". Man lærer utrolig mye om anti-reversing-teknikker osv. Er faktisk ganske mye ferdig kode man kan bruke seg av, kode som injecter dll for eksempel... Egne tools til å finne "codeCaves" også... 6827390[/snapback] Finnes utrolig mye ja, hackere/crackere/reversere pleier ofte å være produktive. Er små fasinert, trodde ikke dettte var så utbredt. Men det er faktisk kunst dette, flertallet som lager haxs spiller på servere med hax. Alstå Cheat vs Cheat. Med andre ord, det er ikke bare Cs skillz det står på, også hvor god du er til å programmere... omsette 3d til 2d osv. 6827390[/snapback] Flott at de er såpass god kultur at mange holder seg for gode til å ødelegge servere som er seriøse med å bruke cheats, men heller ser en utfordring i å overgå andre folks cheats. Lenke til kommentar
Gjakmarrja Skrevet 8. september 2006 Forfatter Del Skrevet 8. september 2006 (endret) Oh yes, er veldig avansert når det blir cheat vs cheat. Scrambling av xyz greiene og masse morro. Den boken så utrolig bra ut! Skal bestilles så snart jeg får lønn, neste fredag. (Amazon hadde den) Er overraskende hvor god kultur faktisk, en bruker som solgte Vip hacker til folk. Han er blitt mobbet for det siden... Folk mistet totalt respsekten for han. Nei, On-T. Den boken så veldig bra ut. Høres ut som den er verdt pengene. Nei, nå skal jeg debugge noe. Endret 8. september 2006 av chills Lenke til kommentar
Zethyr Skrevet 8. september 2006 Del Skrevet 8. september 2006 Oh yes, er veldig avansert når det blir cheat vs cheat. Scrambling av xyz greiene og masse morro. Den boken så utrolig bra ut! Skal bestilles så snart jeg får lønn, neste fredag. (Amazon hadde den) Er overraskende hvor god kultur faktisk, en bruker som solgte Vip hacker til folk. Han er blitt mobbet for det siden... Folk mistet totalt respsekten for han. Nei, On-T. Den boken så veldig bra ut. Høres ut som den er verdt pengene. Nei, nå skal jeg debugge noe. 6827707[/snapback] Vær forberedt på mange timers moro med debugging/disassembling og analyse av filer. Et av kapitlene går ut på å finne ut hvordan et krypteringsprogram virker, og lage et kompatibelt program Litt på slutten er dedikert til reversing av .NET og andre bytecode-språk, men det har jeg ikke lest gjennom enda. Lenke til kommentar
Gjakmarrja Skrevet 16. april 2007 Forfatter Del Skrevet 16. april 2007 Da vil jeg egentlig bare vekke denne tråden til live igjen, jeg har startet igjen på dette lille prosjekte. Lage en funksjonell aimbot med wallhack til bf2, uten pb patch selvfølgelig, dette er ikke for ødelegge online gaming. Det vil nok ta litt tid å produsere dette, hovedsaklig fordi jeg skal lære. Har funnet en del Copy & Paste biter som egentlig gjør det meste for meg, sånn som loader i asm, hooking av draw D3D, og ikke minst matten bak en aimbot. Alt jeg egentlig trenger å bruke litt tid på er å finne offsettene for versjonen som brukes nå, jeg kommer til å anvende en no/cd-crack versjon til analysering siden det ble anbefalt på et nettsted. =) Det hele skal ende med kildekode og en bruker-guide her på forumet. Tar gjerne imot hjelpe og støtte, bidrag etc. Lenke til kommentar
Gjakmarrja Skrevet 17. april 2007 Forfatter Del Skrevet 17. april 2007 (endret) Jeg snublet over en fungerende nametag hack, denne funket og var ikke oppdaget av PB. Så lenge man renamer .dll og .exe `n funker den fint. LItt buggy, men den funker. Kjekt å bare se all denne "magien" i praksis. Stortsett er prinsippene helt like, matten bak en aimbot er helt lik på alle, selvfølgelig med litt tweaking avhengig av om spillet implementerer vind og hastighet på prosjektilet. Wallhack er bare en standard hook av rendering-delen, ved å analysere hvordan en nametaghack påvirker koden forstår man raskt hva en wallhack består i. Hovedsaklig består aktiviteten på nettet av å omgå PB, noe som faktisk er svært avansert. PB utvider scanneområde i bf.exe, så codecavene blir mindre og mindre. (Slutt å gi ut public hacks FFS) Personlig kunne jeg tenke meg et design hvor all koden injectes, bruk av ProcessMemoryWrite er ikke anbefalt. Enklere sagt, å lage en hack til bf2 som ikke bryr seg om PB er skamlig enkelt, bitene som sikter for deg å endrer texture proptertisene til fiendene kan man finne på nettet, hvis man leter GODT: Men så kommer det til loaderen, hooken og d3d draw. Dette er litt vanskelig å lære prinsippene bak, men leser man det man kommer over. Gjerne supplementerer med en reversing bok. (Amazon.com), går dette ganske bra! Jeg hadde litt erfaring i VB før jeg gikk over tilC++/asm, så alle kan klare dette. Endret 17. april 2007 av chills Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå