Reklama
Pokazuje wyniki od 1 do 14 z 14

Temat: [Poradnik] Klient Tibii - prawdy i mity

  1. #1
    Enterprise Pro

    Domyślny Klient Tibii - prawdy i mity

    Ostatnio czytając forum zauważyłem tendencje do przesady w sprawie klienta Tibii i niesamowitych informacji jakie może on pobierać z waszych komputerów.

    Informacje, które czyta klient

    CipSoft podał ostatnio informacje, że po patchu klient będzie pobierał niektóre informacje o systemie i sprzęcie.
    Pomyślałem, że warto to sprawdzić.
    Wyniki poszukiwań będę podawał w formie adresów w pamięci klienta. Adresy te to początki danych funkcji.

    Kod :
    Native System Info
    0054A000
    
    Memory Status
    0054BD00
    
    Processor Type
    0054BFF0
    
    System Logical Processor
    0054ADE0
    
    Get Processor MHz
    0054AF40
    
    Graphics Device
    0054C430
    
    Get the max graphic object count
    0054B070
    
    Translate the windows the windows type (XP, VISTA, 95...)
    0054CAF0
    
    Get the windows type
    00454880
    
    Location Information
    0054C93F
    
    Detect the graphics card corporation (NVidia..)
    0054D5F0
    Możecie sami sprawdzić co tam siedzi :) Ja zapewniam was, że nie ma tu nic poza tym co oświadczyły Cipy.

    W jaki sposób klient pobiera/wysyła informacje

    No dobra, mamy już informacje ale wypadało by dowiedzieć się kiedy klient je pobiera.
    Gdyby się zastanowić to raczej nie robi tego ciągle podczas grania, takie cykliczne operacje mogły by spowolnić grę i zwiększyć zużycie procesora. Ja obstawiałbym, ze są one pobierane podczas startu klienta.
    Sprawdźmy to !
    Aby to zrobić wystarczy założyć breake pointa na którymkolwiek z wyżej wymienionych adresów. Jeżeli CipSoft pobiera te dane raz, to wszystkie.

    Wybierzmy 0054A000, postawmy BP i uruchommy klient.

    OBRAZEK
    nbot.pl/images/1.JPG
    No proszę, proces został zatrzymany co oznacza, że dana funkcja została wywołana. Przepuśćmy ją klikając "Run".
    Zalogujmy się i trochę pograjmy.
    Możemy sobie chodzić, nic się nie stanie. Jeżeli wyłączymy grę, funkcja również nie zostanie wywołana.
    Sprawdźmy jeszcze co się stanie podczas crasha.
    No proszę tuż przed crashem również olly pokazał, że funkcja została wywołana.
    Podsumujmy, klient pobiera te informacje tylko w 2 przypadkach.

    Podczas uruchomienia klienta
    Podczas crasha

    Sprawdźmy więc położenie głównej funkcji, która pobiera te wszystkie dane i formuje w jeden ciąg.

    Oto jej adres:
    Kod :
    0054C8F0   > 6A FF          PUSH -1
    Jeżeli się jej przyjrzymy znajdziemy wywołania wszystkich funkcji które podałem wyżej:

    Kod :
    0054C8F0   > 6A FF          PUSH -1
    0054C8F2   . 68 A8CB5A00    PUSH Tibia.005ACBA8                      ;  SE handler installation
    0054C8F7   . 64:A1 00000000 MOV EAX,DWORD PTR FS:[0]
    0054C8FD   . 50             PUSH EAX
    0054C8FE   . 64:8925 000000>MOV DWORD PTR FS:[0],ESP
    0054C905   . 83EC 1C        SUB ESP,1C
    0054C908   . 53             PUSH EBX
    0054C909   . 56             PUSH ESI
    0054C90A   . 33DB           XOR EBX,EBX
    0054C90C   . 57             PUSH EDI
    0054C90D   . 8BF1           MOV ESI,ECX
    0054C90F   . C74424 24 0F00>MOV DWORD PTR SS:[ESP+24],0F
    0054C917   . 895C24 20      MOV DWORD PTR SS:[ESP+20],EBX
    0054C91B   . 885C24 10      MOV BYTE PTR SS:[ESP+10],BL
    0054C91F   . 895C24 30      MOV DWORD PTR SS:[ESP+30],EBX
    0054C923   . 56             PUSH ESI                                 ; /Arg1
    0054C924   . E8 D7D6FFFF    CALL Tibia.0054A000                      ; \Tibia.0054A000             Native System Info
    0054C929   . 8D7E 04        LEA EDI,DWORD PTR DS:[ESI+4]
    0054C92C   . 83C4 04        ADD ESP,4
    0054C92F   . 3BFB           CMP EDI,EBX
    0054C931   . 74 1D          JE SHORT Tibia.0054C950
    0054C933   . 6A 04          PUSH 4                                   ; /BufSize = 4
    0054C935   . 57             PUSH EDI                                 ; |Buffer
    0054C936   . 6A 07          PUSH 7                                   ; |InfoType = 7
    0054C938   . 68 00080000    PUSH 800                                 ; |LocaleId = 800
    0054C93D   . 891F           MOV DWORD PTR DS:[EDI],EBX               ; |
    0054C93F   . FF15 DCF25A00  CALL DWORD PTR DS:[<&KERNEL32.GetLocaleI>; \GetLocaleInfoA    Location Information
    0054C945   . 85C0           TEST EAX,EAX
    0054C947   . 75 04          JNZ SHORT Tibia.0054C94D
    0054C949   . 891F           MOV DWORD PTR DS:[EDI],EBX
    0054C94B   . EB 03          JMP SHORT Tibia.0054C950
    0054C94D   > 885F 03        MOV BYTE PTR DS:[EDI+3],BL
    0054C950   > 8D46 08        LEA EAX,DWORD PTR DS:[ESI+8]
    0054C953   . 50             PUSH EAX
    0054C954   . E8 57DBFFFF    CALL Tibia.0054A4B0
    0054C959   . 8D4C24 10      LEA ECX,DWORD PTR SS:[ESP+10]
    0054C95D   . 51             PUSH ECX
    0054C95E   . 8D56 10        LEA EDX,DWORD PTR DS:[ESI+10]
    0054C961   . 52             PUSH EDX
    0054C962   . 8D46 0C        LEA EAX,DWORD PTR DS:[ESI+C]
    0054C965   . 50             PUSH EAX
    0054C966   . E8 95F3FFFF    CALL Tibia.0054BD00          | Memory Status
    0054C96B   . 8D4C24 1C      LEA ECX,DWORD PTR SS:[ESP+1C]
    0054C96F   . 51             PUSH ECX
    0054C970   . 8D56 18        LEA EDX,DWORD PTR DS:[ESI+18]
    0054C973   . 52             PUSH EDX
    0054C974   . 8D46 14        LEA EAX,DWORD PTR DS:[ESI+14]
    0054C977   . 50             PUSH EAX
    0054C978   . E8 73F6FFFF    CALL Tibia.0054BFF0       |Processor Type
    0054C97D   . 8D4E 30        LEA ECX,DWORD PTR DS:[ESI+30]
    0054C980   . 51             PUSH ECX
    0054C981   . 8D56 2C        LEA EDX,DWORD PTR DS:[ESI+2C]
    0054C984   . 52             PUSH EDX
    0054C985   . 8D46 28        LEA EAX,DWORD PTR DS:[ESI+28]
    0054C988   . 50             PUSH EAX
    0054C989   . 8D4E 24        LEA ECX,DWORD PTR DS:[ESI+24]
    0054C98C   . 51             PUSH ECX
    0054C98D   . E8 4EE4FFFF    CALL Tibia.0054ADE0     System Logical Processor
    0054C992   . 8D56 38        LEA EDX,DWORD PTR DS:[ESI+38]
    0054C995   . 52             PUSH EDX
    0054C996   . 8D46 34        LEA EAX,DWORD PTR DS:[ESI+34]
    0054C999   . 50             PUSH EAX
    0054C99A   . E8 A1E5FFFF    CALL Tibia.0054AF40   Get Processor MHz
    0054C99F   . 8D4E 58        LEA ECX,DWORD PTR DS:[ESI+58]
    0054C9A2   . 51             PUSH ECX
    0054C9A3   . 8D56 54        LEA EDX,DWORD PTR DS:[ESI+54]
    0054C9A6   . 52             PUSH EDX
    0054C9A7   . 8D46 50        LEA EAX,DWORD PTR DS:[ESI+50]
    0054C9AA   . 50             PUSH EAX
    0054C9AB   . 8D4E 40        LEA ECX,DWORD PTR DS:[ESI+40]
    0054C9AE   . 51             PUSH ECX
    0054C9AF   . 8D56 3C        LEA EDX,DWORD PTR DS:[ESI+3C]
    0054C9B2   . 52             PUSH EDX
    0054C9B3   . E8 78FAFFFF    CALL Tibia.0054C430   Graphics Device 
    0054C9B8   . 83C4 48        ADD ESP,48
    0054C9BB   . 83C6 4C        ADD ESI,4C
    0054C9BE   . 56             PUSH ESI                                 ; /Arg1
    0054C9BF   . E8 ACE6FFFF    CALL Tibia.0054B070                      ; \Tibia.0054B070  Get the max graphic object count
    0054C9C4   . 83C4 04        ADD ESP,4
    0054C9C7   . C74424 30 FFFF>MOV DWORD PTR SS:[ESP+30],-1
    0054C9CF   . 837C24 24 10   CMP DWORD PTR SS:[ESP+24],10
    0054C9D4   . 72 0D          JB SHORT Tibia.0054C9E3
    0054C9D6   . 8B4424 10      MOV EAX,DWORD PTR SS:[ESP+10]
    0054C9DA   . 50             PUSH EAX
    0054C9DB   . E8 1CCE0100    CALL Tibia.005697FC
    0054C9E0   . 83C4 04        ADD ESP,4
    0054C9E3   > 8B4C24 28      MOV ECX,DWORD PTR SS:[ESP+28]
    0054C9E7   . 5F             POP EDI
    0054C9E8   . 5E             POP ESI
    0054C9E9   . 895C24 18      MOV DWORD PTR SS:[ESP+18],EBX
    0054C9ED   . 885C24 08      MOV BYTE PTR SS:[ESP+8],BL
    0054C9F1   . C74424 1C 0F00>MOV DWORD PTR SS:[ESP+1C],0F
    0054C9F9   . 5B             POP EBX
    0054C9FA   . 64:890D 000000>MOV DWORD PTR FS:[0],ECX
    0054CA01   . 83C4 28        ADD ESP,28
    0054CA04   . C3             RETN
    To są funkcje które znaleźliśmy i których adresy znamy


    To adresy których bezpośrednio w tej funkcji nie udało się znaleźć:

    0054CAF0 : Translate the windows type (XP, VISTA, 95...)
    00454880 : Get the windows type
    0054D5F0 : Detect the graphics card corporation (NVidia..)


    Mamy też wywołania funkcji których nie opisałem wyżej np:


    CALL Tibia.0054A4B0
    CALL Tibia.005697FC


    Przejdźmy więc do nich

    054a4b0:
    Kod :
    0054A4B0  /$ 83EC 40        SUB ESP,40
    0054A4B3  |. 56             PUSH ESI
    0054A4B4  |. 8B7424 48      MOV ESI,DWORD PTR SS:[ESP+48]
    0054A4B8  |. 68 24B15C00    PUSH Tibia.005CB124                      ; /ProcNameOrOrdinal = "GlobalMemoryStatusEx"
    0054A4BD  |. 68 00B15C00    PUSH Tibia.005CB100                      ; |/pModule = "kernel32.dll"
    0054A4C2  |. C706 00000000  MOV DWORD PTR DS:[ESI],0                 ; ||
    0054A4C8  |. FF15 A4F25A00  CALL DWORD PTR DS:[<&KERNEL32.GetModuleH>; |\GetModuleHandleA
    0054A4CE  |. 50             PUSH EAX                                 ; |hModule
    0054A4CF  |. FF15 20F25A00  CALL DWORD PTR DS:[<&KERNEL32.GetProcAdd>; \GetProcAddress
    .....
    0054A548  |. 83C4 40        ADD ESP,40
    0054A54B  \. C3             RETN
    Jak widzicie nic strasznego, ta funkcja pobiera wcześniej parametry potrzebne do wywołania funkcji:

    Kod :
    0054C965   . 50             PUSH EAX
    0054C966   . E8 95F3FFFF    CALL Tibia.0054BD00          | Memory Status
    Co widać po przesunięciu na stos wartości z rejestru EAX (czyli właśnie tego co wyszło z "nieznanej funkcji").

    Kolejną nieznaną funkcje można rozgryźć szukając w kliencie takiej komendy:

    Kod :
    CALL 0054CAF0
    Dojdziemy do czegoś takiego:

    Kod :
    0054C625  |. 56             |PUSH ESI
    0054C626  |. 8D8D 60FFFFFF  |LEA ECX,DWORD PTR SS:[EBP-A0]
    0054C62C  |. 51             |PUSH ECX
    0054C62D  |. E8 BE0F0000    |CALL Tibia.0054D5F0
    Scrollujemy do samej góry i sprawdzamy skąd ta funkcja została wywołana.

    Co się okazało? Wywołana została w naszej głównej funkcji formującej informacje o systemie:

    Kod :
    0054C9B3   . E8 78FAFFFF    CALL Tibia.0054C430
    I tym za jednym razem stwierdziliśmy, że funkcja "Detect the graphics card corporation (NVidia..)" jest wywoływana dopiero przez inną funkcję, którą na początku określiliśmy jako nieznaną.
    No dobra, ale co z systemem?
    Przecież on też musi być pobierany a nigdzie go tutaj nie ma.

    Załóżmy breake pointa na

    Kod :
    00454880  - Get the windows type
    Co się okazuje przy uruchomieniu klienta ta funkcja nie jest wywoływana!
    W sumie to nawet logiczne. Programiści nie są w stanie przetestować programu na każdym systemie operacyjnym. Wychodzą z założenia, że jeżeli działa to dobrze a jeżeli crashuje to trzeba coś z tym zrobić. Dlatego ta informacja pobierana jest dopiero podczas crasha.

    Jeżeli cofniemy się od naszej głownej funkcji formującej informacje o systemie dojdziemy do takiego miejsca:

    Kod :
    005AE18F     CC             INT3
    005AE190   . B9 50B17800    MOV ECX,Tibia.0078B150
    005AE195   . E8 D654F5FF    CALL Tibia.00503670
    005AE19A   . 68 F0E45A00    PUSH Tibia.005AE4F0
    005AE19F   . E8 429DFAFF    CALL Tibia.00557EE6
    005AE1A4   . 59             POP ECX
    005AE1A5   . C3             RETN
    005AE1A6     CC             INT3
    Ta część kodu wywoływana jest w miejscu gdzie tworzone jest proces czyli na samym początku programu.
    Tak więc doszliśmy do początku ^^

    Dobra, wiemy już, że Tibia pobiera te informacje ale wypadało by sprawdzić czy je wysyła.

    Oto adres funkcji która tworzy login packet:

    Kod :
    00457655  |. E8 86DEFBFF    CALL Tibia.004154E0                      ; \Tibia.004154E0
    Moim zdaniem nie ma tam informacji o systemie. Jeżeli ktoś uważa inaczej to niech skoryguje to co napisałem.

    Nawet gdyby były to niekompletne bo nie ma nic o systemie (jak wiemy ta funkcja wywoływana jest dopiero podczas crasha).

    Skąd wiem, że klient nie wysyła tych informacji w czasie gry?
    Stąd, że mój program zakład hooka na funkcję recv i send.
    Gdyby przeszedł chociaż jeden pakiet z nieznanym nagłówkiem na 100% bym go odnotował.
    Nic takiego jednak się nie stało.

    Podsumowując, klient nie wysyła informacji o waszym systemie za każdym razem gdy włączycie bota. Robi to dopiero podczas crasha.


    Gdyby się zastanowić to nawet ma sens, bo po co informacje o systemie kiedy wszystko działa jak należy? Te info zbiera się dopiero podczas crasha programu bo można po nich dojść co jest ewentualną przyczyną błędu.

    Mity o kliencie

    Wielokrotnie czytałem wypowiedzi fachowców z tego forum. Niejednokrotnie twierdzili oni, że klient wysyła informacje o tym czy zmieniony jest tittle (ten napis "Tibia" w kliencie), czy korzystamy z bota, albo jeszcze jakieś inne bzdety.

    Kiedy niby miałby to robić?
    Wiemy, że nie robi tego podczas logowania ani podczas gry. Jedyna możliwość przesłania takich informacji to crash raport. Ale jak ktoś sam raportuje takie rzeczy to jego sprawa.

    Tak więc:

    1. Klient na pewno pobiera informacje o systemie.
    2. Klient na pewno wysyła je do CipSoftu, ale nie robi tego za każdym uruchomieniem.
    3. Klient nie sprawdza innych informacji o waszym systemie, nawet jeżeli by to robił, nie ma prawa ich gdziekolwiek przesłać. To wasza prywatna sprawa co macie uruchomione i sprawdzanie czegoś takiego to łamanie prawa!


    Czego jeszcze nie rozwiązano

    Pomimo wielu starań nikomu nie udało się rozwiązać zagadki cudownego "autobana".
    Do tej pory nikt nie wie co jest a co nie jest wykrywalne.
    Programiści obstawiają takie rzeczy jak:

    "Zbyt częste wysyłanie pakietów"
    "Zbyt dokładne leczenie i powtarzanie niektórych czynności"
    "Zbyt szybkie zbieranie przedmiotów"

    Ale równie dobrze taki system może nie istnieć a CipSoft opiera się na danych które zgromadził do tej pory.


    Tak więc w kilku słowach

    CipSoft raczej na 100% podczas banów nie wspiera się informacjami o systemie ani niczym innym co mogło by pochodzić od klienta!


    Mam nadzieję, że rozwiałem trochę wątpliwości i pokazałem, że do wszystkiego da się dojść.
    Jestem jednak człowiekiem i mogłem gdzieś się pomylić. Jeżeli ktokolwiek ma jakiekolwiek zastrzeżenia niech da znać w tym temacie.
    Ostatnio zmieniony przez Enterprise Pro : 08-05-2009, 13:21

  2. #2
    Avatar Ar'buz
    Data rejestracji
    2007
    Położenie
    51*06N, 17*02E Ranga: Zasłóżony
    Posty
    245
    Siła reputacji
    19

    Domyślny

    No i o to chodziło. Nareszcie pokazał się jakiś sensowny tekst, który rozwiewa większość legend krążących po forach.

    Fakt - nie wszyscy muszą zrozumieć co tutaj pisze, ale wystarczy przeczytać podsumowanie. Wszystko logicznie wytłumaczone.

    #autor: Gratz wiedzy.

  3. #3
    Avatar coke
    Data rejestracji
    2007
    Wiek
    32
    Posty
    148
    Siła reputacji
    19

    Domyślny

    O jezusiu teraz zaczynam wierzyć w informatykę :P.
    Ja od dawna podejrzewałem że CipSoft nie pobiera info o programach itp itd. I zanalaz się ktoś kto to sprawdził.

    Gratz Gratz.
    Jak to mówią: "Kawał solidnej żołnierskiej roboty" :P.

    Coke
    Ostatnio zmieniony przez coke : 08-05-2009, 19:07

  4. Reklama
  5. #4
    Avatar piorunek098
    Data rejestracji
    2007
    Posty
    1,090
    Siła reputacji
    18

    Domyślny

    Bardzo fajnie i przejrzyście opisane, dobrze że rozwiałeś wątpliwości. Ale wolał bym żeby z klienta tibi nic nie wychodziło. Czy mógłbyś tak zmienić klienta żeby nie wysyłał nic do cipsoftu?
    Wyjdźcie z torga geje i lewaki. Broń Boże nie wchodźcie do moich tematów. Dziękuje.

  6. #5
    Enterprise Pro

    Domyślny

    Cytuj piorunek098 napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Bardzo fajnie i przejrzyście opisane, dobrze że rozwiałeś wątpliwości. Ale wolał bym żeby z klienta tibi nic nie wychodziło. Czy mógłbyś tak zmienić klienta żeby nie wysyłał nic do cipsoftu?
    Można, ale po co? Wystarczy nie wysyłać raportu podczas crasha :P

  7. #6
    Avatar czo_opek
    Data rejestracji
    2008
    Posty
    98
    Siła reputacji
    17

    Domyślny

    Wkońcu ktoś się postarał o stworzenie takiego artykułu.
    A co do tych teorii, to wysyłanie pakietów to już było gdzieś obalane.

  8. Reklama
  9. #7
    Avatar Mandarke
    Data rejestracji
    2006
    Położenie
    Mielec
    Posty
    2,977
    Siła reputacji
    20

    Domyślny

    Cytuj Enterprise Pro napisał
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Ale równie dobrze taki system może nie istnieć a CipSoft opiera się na danych które zgromadził do tej pory.
    To niemożliwe. Bo jak inaczej miałby te dane gromadzić? Przez GMów śledzących graczy na niewidce? To nie wystarczy, żeby być pewnym co do bocenia trzeba do gracza zagadać. Po za tym bany nie dostaje się tylko za cave bota, jak np sprawdzić czy komuś automatycznie zbiera loota z potworków? Albo auto healing?

  10. #8
    konto usunięte

    Domyślny

    Łał. Większości nie rozumiem ^^ (informatyka to zuo ;P), ale wnioskuję z artykułu, że mogę botowac ;> Jak na razie zastanawiałam się jak oni to robią, że znajdują. W kółko słyszałam, że Cipsoft schował jakiegoś antybota w folderze klienta ;d
    Gz wykonanej pracy ;]

  11. #9
    Enterprise Pro

    Domyślny

    Cytuj Mandarke napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    To niemożliwe. Bo jak inaczej miałby te dane gromadzić? Przez GMów śledzących graczy na niewidce? To nie wystarczy, żeby być pewnym co do bocenia trzeba do gracza zagadać. Po za tym bany nie dostaje się tylko za cave bota, jak np sprawdzić czy komuś automatycznie zbiera loota z potworków? Albo auto healing?
    Wiesz nie twierdzę, że tak jest. Nie twierdzę też, że botowanie jest bezpieczne.
    Ogólnie głównym celem tego artykułu jest pokazanie, że dane które pobiera od nas CipSoft nie są takie straszne i że można sprawdzić czy nie pobierają dodatkowych informacji.
    System Autoban nie został rozgryziony do tej pory.

  12. Reklama
  13. #10
    Avatar Seidan
    Data rejestracji
    2007
    Położenie
    Pierszy karton po lewej
    Posty
    76
    Siła reputacji
    18

    Domyślny

    Troche sie dowiedziałem z tego poradnika ale sporo juz wiedziałem.A co do nowego systemu antybotowego słyszałem że gdy gracz powtarza w kółko te same czynności np wayponty albo robienie runek :)

  14. #11
    Avatar Exarin
    Data rejestracji
    2008
    Położenie
    teheran
    Wiek
    24
    Posty
    743
    Siła reputacji
    18

    Domyślny

    Naprawde ciekawy, dobry poradnik - przyjemnie sie czytalo i troche sie dowiedzialem ^^.
    ali hasan husajn

  15. #12
    Avatar Palado
    Data rejestracji
    2007
    Położenie
    51.770N 19.459E
    Posty
    149
    Siła reputacji
    18

    Domyślny

    Cytuj Seidan napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    A co do nowego systemu antybotowego słyszałem że gdy gracz powtarza w kółko te same czynności np wayponty albo robienie runek :)
    Czyli każdy kto robi runki dostanie bana, bo ciągle powtarza
    te same czynności? Świetny pomysł...

  16. Reklama
  17. #13
    Avatar Spitfire
    Data rejestracji
    2006
    Położenie
    Bridgwater
    Wiek
    31
    Posty
    164
    Siła reputacji
    19

    Domyślny

    Cytuj Shany napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    To jest swietne!


    Czy to znaczy ze klient wysyla informacje o bocie (kiedy go wykryje dzieki niewiadomo-czemu) tylko podczas krasza?
    Niet, nie scrashowało mi tibii ani razu i mam bana na najcie :PP Blackd _/
    Ooooh I burn and I die a little more. Oh I die, I die, I die a little more!
    Ash to ash. Dust to dust. Fade to black... But the memory remains!

  18. #14

    Data rejestracji
    2009
    Położenie
    Świebodzice
    Posty
    29
    Siła reputacji
    0

    Domyślny

    No może się w praktyce nie przyda ale warto wiedzieć :]...

Reklama

Informacje o temacie

Użytkownicy przeglądający temat

Aktualnie 1 użytkowników przegląda ten temat. (0 użytkowników i 1 gości)

Podobne tematy

  1. Prawdy i Mity - jak powinny wyglądać?
    Przez Avarion w dziale Tibia
    Odpowiedzi: 82
    Ostatni post: 25-06-2008, 14:56

Zakładki

Zakładki

Zasady postowania

  • Nie możesz pisać nowych tematów
  • Nie możesz pisać postów
  • Nie możesz używać załączników
  • Nie możesz edytować swoich postów
  •