Reklama
Strona 4 z 5 PierwszaPierwsza ... 2345 OstatniaOstatnia
Pokazuje wyniki od 46 do 60 z 65

Temat: [Poradnik] Własny bot

  1. #46
    konto usunięte

    Domyślny

    Bardzo ładny artykuł. Właśnie biorę się za pisanie bota ;] Jak tego nie przeniosą to nie wiem co im zrobie :D !! 10/10 ziąąąąą


    @Edit
    Mam pytanie.. Czym i jak skanujecie tą pamięć Tibii ? tibiatech.tk nie działa ..
    Ostatnio zmieniony przez #Dreeda : 30-05-2007, 23:45

  2. #47
    Avatar spleen
    Data rejestracji
    2005
    Wiek
    7
    Posty
    5,006
    Siła reputacji
    24

    Domyślny

    @up
    TSearch lub Cheat Engine.
    Z niewiadomych przyczyn ostatnio TSearch caly czas mi sie wywala, ale CE daje rade ; )
    Sprzedam CS:GO w formie giftu na steam za 4 kluczyki.

  3. #48
    konto usunięte

    Domyślny

    Jakiego kompilatora używałeś pisząc ten poradnik??

  4. Reklama
  5. #49

    Data rejestracji
    2005
    Posty
    134
    Siła reputacji
    20

    Domyślny

    Cytuj Yaboomaster napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Jakiego kompilatora używałeś pisząc ten poradnik??
    jest problem ta osoba co to napisała "zagineła" więc nieodpowie wiem ze ja zaczołem pod lazarusem :p ale gdy chciałem dobrać się do pakietów odpusciłem ...
    chyba używał darmowego 2005?

  6. #50
    konto usunięte

    Domyślny

    No ja właśnie robie na Delphi 7 i kicha xDD (ale to może ja coś pierdole)

  7. #51

    Data rejestracji
    2006
    Położenie
    Gliwice
    Wiek
    33
    Posty
    12
    Siła reputacji
    0

    Domyślny

    Artykuł jest poniekąd zabytkowy, i wątpię żeby na chwilę obecną cokolwiek z niego działało, tym bardziej oświadczam że postanowiłem kategorycznie skończyć z Tibią już jakiś czas temu gdyż i bez tego mam masę zajęć, więc proszę nie pytajcie mnie już o tego bota. Z Delphi (akurat wersja 7 Personal, ale na 2005 też pewnie by poszło) też dawno nie miałem styczności, więc raczej wam nie pomogę.

    Sorry!

    PS. Kod zawiera kilka błędów, jeżeli znajdzie się ktoś kto je poprawi będzie miło (za dużo parametrów przekazywanych do MemoryReadInt), ja nie mam niestety czasu.

    function MemoryReadInt(Address: Cardinal): Longword;
    var
    ProcId: Cardinal;
    tProc: THandle;
    NBR: Cardinal;
    value: Longword;
    begin
    GetWindowThreadProcessId(FindWindow('TibiaClient', Nil), @ProcId);
    tProc:= OpenProcess(PROCESS_ALL_ACCESS, False, ProcId);
    ReadProcessMemory(tProc, Ptr(Address), @value, 4, NBR);
    CloseHandle(tProc);
    Result := Value;
    end;

    i może się przydac:

    function MemoryWriteInt(Address, Int: Cardinal): Longword;
    var
    ProcId: Cardinal;
    tProc: THandle;
    NBR: Cardinal;
    value: Longword;
    begin
    GetWindowThreadProcessId(FindWindow('TibiaClient', Nil), @ProcId);
    tProc:= OpenProcess(PROCESS_ALL_ACCESS, False, ProcId);
    WriteProcessMemory(tProc, Ptr(Address), @Int, 4, NBR);
    CloseHandle(tProc);
    Result := Value;
    end;

    wystarczy pokombinować aby napisac funkcję MemoryWriteString (podpowiedz: najpierw napisz sobie funckję memoryWriteChar, zapisująca po jednym bajcie, nie zapomnij zmienic w ReadProcessMemory 4 na 1)

  8. Reklama
  9. #52
    konto usunięte

    Domyślny

    Dobra chłopaki a ja wam jeszcze powiem że jak chcecie expa i lvl zobaczyć to dajcie sobie te stałe :D

    PLAYER_LEVEL = $00602D30;
    PLAYER_EXP = $006059C4;

    Tamte były ma 7.6 więc teraz się nie dziwię że nie działało nic ;P

    Użytkownicy aktualnie czytający ten temat: 17 (użytkowników 13 oraz gości 4)
    Yaboomaster, bożydar, EgoTuitam, G!@diu$, Generalny Generał, Michaleczek, Moon the Dwarf, Ozzie Zombie, pabblo, pawianpawian, polosin, Sebox, Szudarek
    Co jest zebrało się na pisanie botów?? :D


    @down

    Nie każdy bo jak napisał autor funkcja MemoryReadInt ma coś źle ^^ Więc teraz pewnie tam tupią nóżką przed kompami że im nie idzie xD

  10. #53
    Avatar Moon the Dwarf
    Data rejestracji
    2006
    Posty
    34
    Siła reputacji
    0

    Domyślny

    Hmm, teraz chyba każdy będzie mógł sobie zrobić swoją własną ołntibję, wystarczy tylko podmienić adresy na te zawierające acc i pass... ;X (btw spróbuję, zobaczę czy wyciągnie te dane ;p)
    //poszukajcie na forum, jest pewien poradniczek z owymi adresami ;)

  11. #54
    konto usunięte

    Domyślny

    Macie tu source bota :P Na formie musicie umieścić button1 i button2 :P Jeżeli znacie trochę delphi to sobie poradzicie, jeżeli nie to pytajcie ;D Jak coś napisze jeszcze to dam tutaj ^^

    Kod :
    unit BotMForm;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;
    
    type
      TForm1 = class(TForm)
        Button1: TButton;
        Button2: TButton;
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
        procedure FormCreate(Sender: TObject);
        procedure FormClose(Sender: TObject; var Action: TCloseAction);
    
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    var
      Form1: TForm1;
      HookID: HHOOK;
    
    type
    PKbdDllHookStruct = ^TKbdDllHookStruct;
    TKbdDllHookStruct = record
    vkCode,
    ScanCode,
    Flags,
    Time,
    dwExtraInfo: Integer;
    end;
    
    const
    WH_KEYBOARD_LL = 13;
    BATTLELIST_START = $005F7994;
    BATTLELIST_END = $005FD460;
    PLAYER_X = $00602B08;
    PLAYER_Y = $00602B04;
    PLAYER_Z = $00602B00;
    PLAYER_LEVEL = $00602D30;
    PLAYER_EXP = $006059C4;
    STATUS_TEXT = $0074F1D0;
    STATUS_TIMER = $0074F1CC;
    SPEED_USE = $0074DBD0;
    PLAYER_SOUL = $006059A8;
    PLAYER_MANA = $006059B0;
    
    
    implementation
    
    {$R *.dfm}
    function MemoryReadInt(Address: Cardinal): Longword;
    var
    ProcId: Cardinal;
    tProc: THandle;
    NBR: Cardinal;
    value: Longword;
    begin
    GetWindowThreadProcessId(FindWindow('TibiaClient', Nil), @ProcId);
    tProc:= OpenProcess(PROCESS_ALL_ACCESS, False, ProcId);
    ReadProcessMemory(tProc, Ptr(Address), @value, 4, NBR);
    CloseHandle(tProc);
    Result := Value;
    end;
    
    procedure TForm1.Button1Click(Sender: TObject);
    var
    Tibia: Cardinal;
    begin
    Tibia := FindWindow('TibiaClient',nil);
    SetWindowText(Tibia,PChar('Yaboobot'));
    end;
    
    function CalculateLeftExp: string;
    var
    Tibia: Cardinal;
    AExp, ALevel, ASoul, AMana: Cardinal;begin
    {Obliczamy zawartość zmiennych}
    Tibia := FindWindow('TibiaClient',nil);
    AExp := MemoryReadInt(PLAYER_EXP);
    ALevel := MemoryReadInt(PLAYER_LEVEL);
    ASoul := MemoryReadInt (PLAYER_SOUL);
    AMana := MemoryReadInt (PLAYER_MANA);
    Result := Format('Level: %d. Ilość exp.: %d. Ilość souli.: %d. Ilość many.: %d.',[ALevel,AExp,ASoul,AMana]);
    end;
    
    
        function LLKeyHookFunc(HookCode: Integer; KeyCode: wParam; KStrokeInfo: lParam): LResult; stdcall;
        var
        Struct: PKbdDllHookStruct;
        Tibia: Cardinal;
        begin
        Struct := Ptr(KStrokeInfo);
        if (HookCode >= 0) then
        begin
        {Pojedyncza funkcja}
        if (Struct.vkCode = VK_F7) and(GetAsyncKeyState(VK_CONTROL)<-32766) then begin
        Tibia := FindWindow('TibiaClient',nil);
        SetWindowText(Tibia,PChar(CalculateLeftExp));
        end;
        end;
        {Uwaga! POPRAWIONE}
        Result := CallNextHookEx(HookID, HookCode, KeyCode, KStrokeInfo);
        end;
    
        procedure LockSystem;
        begin
        HookID := SetWindowsHookEx (WH_KEYBOARD_LL, @LLKeyHookFunc, hInstance, 0);
        end;
    
        procedure UnLockSystem;
        begin
        UnHookWindowsHookEx (HookID);
        end; 
    
    
    
    
    procedure TForm1.Button2Click(Sender: TObject);
    var
    Tibia: Cardinal;
    begin
    Tibia := FindWindow('TibiaClient',nil);
    SetWindowText(Tibia,PChar(CalculateLeftExp));
    end;
    
    procedure TForm1.FormCreate(Sender: TObject);
    begin
    LockSystem;
    end;
    
    procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
    UnlockSystem;
    end;

  12. Reklama
  13. #55

    Data rejestracji
    2005
    Posty
    134
    Siła reputacji
    20

    Domyślny

    a zna kto strone o tym kiedyś na tibiasoft pisano o pisaniu botów (masło maślane) :P

  14. #56
    Avatar Pstek
    Data rejestracji
    2006
    Posty
    52
    Siła reputacji
    19

    Domyślny

    Świtny poradnik tylko czego odrazu napisałeś że delphi ? kolega mi kiedyś mówił że nie tylko delphim się robi programy :P

    Artykuł 9/10 GRATZ !!!

    Mam nadzieję że przeniosą cię do artykułów

  15. #57

    Data rejestracji
    2005
    Posty
    134
    Siła reputacji
    20

    Domyślny

    Cytuj Pstek napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Świtny poradnik tylko czego odrazu napisałeś że delphi ? kolega mi kiedyś mówił że nie tylko delphim się robi programy :P

    Artykuł 9/10 GRATZ !!!

    Mam nadzieję że przeniosą cię do artykułów
    bo łatwo to zrobić chyba ze chcesz w brainfucku :D :D
    niepasuje pisz w C/C++/D/Phyton/Pascal-Fpc/

  16. Reklama
  17. #58

    Data rejestracji
    2006
    Położenie
    Gliwice
    Wiek
    33
    Posty
    12
    Siła reputacji
    0

    Domyślny

    Oczywiście, istnieją inne języki, ten wybrałem bo jest łatwy, a Delphi ma fajny designer... ( żeby nie mieszac kodu bota z kodem interfejsu). poza tym istnieje duzo zasobow do delphi odn. hackowania tibii. ztcw. nawet Cheat Engine bylo pisane w Delphi.

    Dobra wiadomosc: chyba wezme sie od poczatku za pisanie tego arta, wlacznie z pakietami, lowieniem ryb, autoexpem (czy jak to sie nazywa), autoresponderem, itp. Ale w tym celu admin forum musilaby zniesc limit dlugosci postu albo wlaczyc odpowiadanie tego samego autora, bo sie po prostu nie miesci.

    Jak to ktos kiedys powiedzial: tibia to nie wyzwanie dla graczy, to wyzwanie dla programistów.

  18. #59
    konto usunięte

    Domyślny

    Narazie udało mi się dojść do tego jak ściągać przedmiot o danym ID :)
    Oto prosty kod wysyłający pakiety do jego wysłania potrzebujecie
    pod uses dodać
    Kod :
    procedure SendPacket(ProcessID: Cardinal; Packet: Pointer; Encrypt: Boolean; SafeArray: Boolean); stdcall; external 'packet.dll';
    Musicie też mieć packet.dll
    Ja go ma stąd Packet.dll
    Podobno u kogoś wykryło w nim
    Found HEUR/Malware
    Jeżeli macie swój packet.dll to lepiej używajcie swojego żeby nie było na mnie, ale ja używam tego i nic mi nie jest :P
    Kod :
    //Wysylanie pakietow na sciagniecie dragon shielda, zalozenie runy, wypowiedzenie adori gran, sciagniecie runy, zalozenie d-shielda//
    GetWindowThreadProcessId(FindWindow('TibiaClient', nil), @ProcessID);
    //Wyslanie pakietu ktory sciagnie tarcze
        packetBuffer[0]:= $0F;
        packetBuffer[1]:= $00;
        packetBuffer[2] := $78;
        packetBuffer[3] := $FF;
        packetBuffer[4] := $FF;
        packetBuffer[5] := $05;
        packetBuffer[6] := $00;
        packetBuffer[7] := $00;
        packetBuffer[8] := $58;
        packetBuffer[9] := $0D;
        packetBuffer[10] := $00;
        packetBuffer[11] := $FF;
        packetBuffer[12] := $FF;
        packetBuffer[13] := $0A;
        packetBuffer[14] := $00;
        packetBuffer[15] := $00;
        packetBuffer[16] := $01;
    SendPacket(ProcessID, @PacketBuffer, TRUE, FALSE);
    //Wyslanie pakietu ktory zalozy rune
        sleep(100);
        packetBuffer[0]:= $0F;
        packetBuffer[1]:= $00;
        packetBuffer[2] := $78;
        packetBuffer[3] := $FF;
        packetBuffer[4] := $FF;
        packetBuffer[5] := $41;
        packetBuffer[6] := $00;
        packetBuffer[7] := $13;
        packetBuffer[8] := $4B;
        packetBuffer[9] := $0C;
        packetBuffer[10] := $13;
        packetBuffer[11] := $FF;
        packetBuffer[12] := $FF;
        packetBuffer[13] := $05;
        packetBuffer[14] := $00;
        packetBuffer[15] := $00;
        packetBuffer[16] := $01;
    SendPacket(ProcessID, @PacketBuffer, TRUE, FALSE);
    //wyslanie pakietu ktory powie adori gran
        sleep(100);
        packetBuffer[0]:= $0E;
        packetBuffer[1]:= $00;
        packetBuffer[2] := $96;
        packetBuffer[3] := $01;
        packetBuffer[4] := $0A;
        packetBuffer[5] := $00;
        packetBuffer[6] := $61;
        packetBuffer[7] := $64;
        packetBuffer[8] := $6F;
        packetBuffer[9] := $72;
        packetBuffer[10] := $69;
        packetBuffer[11] := $20;
        packetBuffer[12] := $67;
        packetBuffer[13] := $72;
        packetBuffer[14] := $61;
        packetBuffer[15] := $6E;
    SendPacket(ProcessID, @PacketBuffer, TRUE, FALSE);
    //wyslanie pakietu ktory sciagnie rune
        sleep(100);
        packetBuffer[0]:= $0F;
        packetBuffer[1]:= $00;
        packetBuffer[2] := $78;
        packetBuffer[3] := $FF;
        packetBuffer[4] := $FF;
        packetBuffer[5] := $05;
        packetBuffer[6] := $00;
        packetBuffer[7] := $00;
        packetBuffer[8] := $7E;
        packetBuffer[9] := $0C;
        packetBuffer[10] := $00;
        packetBuffer[11] := $FF;
        packetBuffer[12] := $FF;
        packetBuffer[13] := $41;
        packetBuffer[14] := $00;
        packetBuffer[15] := $0F;
        packetBuffer[16] := $01;
    SendPacket(ProcessID, @PacketBuffer, TRUE, FALSE);
    //wyslanie pakietu ktory zalozy tarcze
        sleep(100);
        packetBuffer[0]:= $0F;
        packetBuffer[1]:= $00;
        packetBuffer[2] := $78;
        packetBuffer[3] := $FF;
        packetBuffer[4] := $FF;
        packetBuffer[5] := $0A;
        packetBuffer[6] := $00;
        packetBuffer[7] := $00;
        packetBuffer[8] := $58;
        packetBuffer[9] := $0D;
        packetBuffer[10] := $00;
        packetBuffer[11] := $FF;
        packetBuffer[12] := $FF;
        packetBuffer[13] := $05;
        packetBuffer[14] := $00;
        packetBuffer[15] := $00;
        packetBuffer[16] := $01;
    SendPacket(ProcessID, @PacketBuffer, TRUE, FALSE);

  19. #60
    TrokTrok

    Domyślny

    Yaboomaster skompilowałem twojego bota, ale pod Tibie 7.8 nie działa on. Mam pytanie pod jaką wersje Tibii zrobiony jest ten bot i skąd bierzesz to:
    const
    WH_KEYBOARD_LL = 13;
    BATTLELIST_START = $005F7994;
    BATTLELIST_END = $005FD460;
    PLAYER_X = $00602B08;
    PLAYER_Y = $00602B04;
    PLAYER_Z = $00602B00;
    PLAYER_LEVEL = $00602D30;
    PLAYER_EXP = $006059C4;
    STATUS_TEXT = $0074F1D0;
    STATUS_TIMER = $0074F1CC;
    SPEED_USE = $0074DBD0;
    PLAYER_SOUL = $006059A8;
    PLAYER_MANA = $006059B0;

  20. Reklama
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. [Anti-Bot] legerian.net [Własny klient] Real map
    Przez Seyaelo w dziale Tematy serwerów
    Odpowiedzi: 33
    Ostatni post: 11-08-2014, 14:20
  2. [Własny klient][Zapowiedz I] Eternal Kingdoms - Powrót!
    Przez Transerion w dziale Tematy serwerów
    Odpowiedzi: 15
    Ostatni post: 08-06-2012, 13:33
  3. [8.0(własny)]Dragon Ball Power OTS
    Przez DragonBallPower w dziale Tematy serwerów
    Odpowiedzi: 44
    Ostatni post: 26-06-2011, 19:20
  4. [Własny Klient] Czy podoba Ci się ten pomysł?
    Przez konto usunięte w dziale Open Tibia Server
    Odpowiedzi: 10
    Ostatni post: 28-04-2010, 17:29
  5. [Własny Klient]Co myślisz o tym pomyśle?
    Przez Maciek Niepokonany w dziale Open Tibia Server
    Odpowiedzi: 2
    Ostatni post: 27-04-2010, 23:04

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
  •