Bot do gry

R2
  • Rejestracja:ponad 15 lat
  • Ostatnio:ponad 15 lat
0

Witam, od razu powiem, że dopiero zaczynam swoją przygodę z poważniejszym programowaniem. Zapoznałem się już z niejednym kursem c++, WinApi oraz przeczytałem parę książek na ten temat. Do chwili obecnej pisałem proste programy i małe gierki, a teraz chciałbym pouczyć się jak napisać własnego bota do gry, więc wybrałem parę znanych gierek online i proszę was Expertów o parę wskazówek jak się tego nauczyć:)
Oczywiście już troszkę się do tego przygotowałem...

1.Pobrałem dwa programy:
Cheat Engine- by przeszukiwać pamięć gier.
Ollydbg- Tutaj oczekuje waszej pomocy...
2.Zapoznałem się z podstawami asemblera i aktualnie chce się go nauczyć bo podobno się do tego przydaje.

Chciałbym żebyście udzielili mi informacji o programie Ollydbg i jak za jego pomocą wyszukać np. funkcje odpowiadającą za logowanie do gry i itp po czym jak taką funkcje symulować z własnymi parametrami w c++(o ile to tak działa to co pisze opieram na tym co wyczytałem w google)

Chciałbym też dowiedzieć się czegoś o sławnym hookowaniu, ale wydaje mi się, że to akurat to co napisałem u góry:P

Wiem, że może trochę minąć zanim napisze swojego pierwszego bota, ale chciałbym dowiedzieć się od czego w ogóle mam zacząć:)

Z góry wielkie dzięki:)

KD
  • Rejestracja:ponad 19 lat
  • Ostatnio:ponad 15 lat
1

bot do gry grales keidys w quake'a ? se zrob bota

R2
  • Rejestracja:ponad 15 lat
  • Ostatnio:ponad 15 lat
0
Gelldur napisał(a)

ee nie bierz się za to bo cię zjadą czemu miał by ci ktoś pomóc psuć innym grę ?

Myśle, że nie zjadą... Ja tylko chce wiedzieć jak się to robi, a nie od razu wydawać boty, a to doskonały sposób na nauczenie się wielu rzeczy o c++, gdyby ludzie się nie uczyli to byśmy się cofali...

//q: btw. a nie zauwazyles po szkolnictwie, ze tak wlasciwie to sie cofamy? :)

0

Szczególnie, że pisanie botów nie ma z C++ nic wspólnego - równie dobrze nadaje się do tego Ruby albo Haskell.

R2
  • Rejestracja:ponad 15 lat
  • Ostatnio:ponad 15 lat
0
... napisał(a)

Szczególnie, że pisanie botów nie ma z C++ nic wspólnego - równie dobrze nadaje się do tego Ruby albo Haskell.

Może... nie wiem bo chciałbym się tego nauczyć i nie wiem czy ma to związek z c++, ale myślę, że w c++ da się napisać bota, a skoro coś na ten temat wiesz to może mi powiesz jak się za to zabrać?
Założę się, że Ty się z tą wiedza nie urodziłeś.

Ps. nie staram się robić botów do FPS
gry jakie obrałem na celownik to:

1.Angels online- autorzy pozwalają na boty, sami w grze wbudowali wiele opcji do botowania dlatego jest to dobra gra do nauki pisania botów(przynajmniej legalnie i nikt mi nie powie, że psuje komuś rozgrywkę)
2.Mu online
3.Ragnarock
4.Tibia

0

Nie radzę ci zaczynać pisania bota do gry.

Sam jestem w trakcie pisania od roku. Aktualnie ma kilkanaście tysięcy albo i więcej linijek kodu.
Przepisałem cały protokół gry do bota.

Mój bot działa bez klienta gry.

I powiem ci, że nie radzę się za to zabierać (jeżeli chcesz napisać profesjonalnego bota takiego jak ja pisze to stracisz kilka tysięcy godzin swojego życia.

Chyba, że chcesz zrobić prostego bota, który i tak będzie do d**y.

A co do tego jak go napisać, to powiem ci, że musisz sam do tego dojść ; ).
Inaczej go nie napiszesz.

Dodam do tego, że to strasznie wciąga i ciężko się od tego oderwać.

CR
  • Rejestracja:około 17 lat
  • Ostatnio:ponad 15 lat
0
Red21a napisał(a)

[...] 2.Zapoznałem się z podstawami asemblera i aktualnie chce się go nauczyć bo podobno się do tego przydaje. [...]

ja bym zwrócił uwagę na to zdanie..

jeśli nawet nie wiesz do czego może przydać się asembler w pisaniu botów, hoków, wirtusów i innego plugastwa, to wybacz, ale musisz być na poziomie zerowym, w pisaniu tego typu kodu...

także, jeszcze wszystko przed tobą, aczkolwiek nikt ci tu nie pomoże nawet jakby chciał, bo NIE ISTNIEJE UNIWERSALNY SPOSÓB na pisanie tego

R2
  • Rejestracja:ponad 15 lat
  • Ostatnio:ponad 15 lat
0
Testowy napisał(a)

Nie radzę ci zaczynać pisania bota do gry.

Sam jestem w trakcie pisania od roku. Aktualnie ma kilkanaście tysięcy albo i więcej linijek kodu.
Przepisałem cały protokół gry do bota.

Mój bot działa bez klienta gry.

I powiem ci, że nie radzę się za to zabierać (jeżeli chcesz napisać profesjonalnego bota takiego jak ja pisze to stracisz kilka tysięcy godzin swojego życia.

Chyba, że chcesz zrobić prostego bota, który i tak będzie do d**y.

A co do tego jak go napisać, to powiem ci, że musisz sam do tego dojść ; ).
Inaczej go nie napiszesz.

Prostego już zrobiłem, a ja chce tylko wiedzieć jak posługiwać się ollydbg i gdzie poczytam jak wyszukane za jego pomocą informacje wykorzystać w c++ dalej chyba dam rade:) tylko chciałbym zobaczyć jakieś proste przykłady...
Nie ważne czy to trudne, czy łatwe, czy poświęcę dużo czasu, czy mało... chce zacząć się tego uczyć jeśli nic nie będę robił to nigdy do niczego nie dojdę...

crayze napisał(a)

jeśli nawet nie wiesz do czego może przydać się asembler w pisaniu botów, hoków, wirtusów i innego plugastwa, to wybacz, ale musisz być na poziomie zerowym, w pisaniu tego typu kodu...

Właściwie to wiem do czego tu przydaje się asembler nauczyłem się troszkę crakowania za pomoca asemblera ale to dopiero początki:)

crayze napisał(a)

także, jeszcze wszystko przed tobą, aczkolwiek nikt ci tu nie pomoże nawet jakby chciał, bo NIE ISTNIEJE UNIWERSALNY SPOSÓB na pisanie tego

Nie, nie czekam na gotowca i doskonale wiem że nie ma uniwersalnego sposobu.
gdyby ktoś powiedział mi, że chce się uczyć c++ powiedziałbym mu jakie kursy ja przeszedłem i które mu polecam i tego samego oczekuje od was:)
jak już pisałem chce zrozumieć jak działa procesor itp i jak to wszystko ogarnąć za pomocą ollydbg:)
coś polecacie czy zostaje mi tylko dalej uczyć się asemblera?

0

//q: wyrwane z kontekstu przez pociecie wątku, ale wciąż sensowne

Właśnie widzę, zabiera się za gry online bez sniffera... ale z CheatEngine, który tutaj jakoś specjalnie użyteczny w porównaniu z samym debuggerem nie jest.

R2
  • Rejestracja:ponad 15 lat
  • Ostatnio:ponad 15 lat
0

Tak się uczę tego asemblera i wiecie co? odpaliłem tego ollydbg (ostatnio odpalałem go parę dni temu kiedy jeszcze nie miałem pojęcia nic o asie) i teraz widzę, że on wszystko tłumaczy mi ładnie na asemblera to nie jest tak źle jednak muszę się uczyć asa:D

To teraz zapytam czy jest możliwość ingerowania w kod uruchomionej aplikacji? np dopisać w jakimś miejscu kawałek swojego kodu?

Czy jeśli mam np nick gracza, który ustawia się dopiero po zalogowaniu według odebranego pakietu to za pomocą ollydbg znajdę ten fragment kodu podczas uruchomionej aplikacji szukając po tekście, którym będzie nick?

... napisał(a)

Właśnie widzę, zabiera się za gry online bez sniffera... ale z CheatEngine, który tutaj jakoś specjalnie użyteczny w porównaniu z samym debuggerem nie jest.

sniffowalem już te gry, ale co do tego nie mam pytań do was:) z wysyłaniem jak i odbieraniem pakietów do serwera sobie radzę już:)

a za pomocą CheatEngine odczytalem adresy odpowiadające za pozycje,życie i doświadczenie na podstawie czego zrobiłem auto leczenie postaci i obliczanie ile czasu zajmie wbicie lvl:)

0

Widzisz disasm, ale jeszcze długo nic z niego nie zrozumiesz. Poza tym sam debugger średnio ma coś wspólnego z analizą kodu jako takiego, od tego są lepsze narzędzia.

Tak, można ingerować w kod.

Ale wysyp prawie-RE ostatnio, świat się kończy.

R2
  • Rejestracja:ponad 15 lat
  • Ostatnio:ponad 15 lat
0

RE jest fajne:)
Nie wiem czy to tak się robi, ale wpadłem na taki pomysł skoro mam adresy np funkcji Mov z asemblera i wiem, ze jest to kod zmieniany na kod binarny to czy jak podstawie za pomocą c++ w ten kawałek pamięci binarna wersje mov z innymi parametrami tz mov x,y (gdzie x,y to podstawie swój kod) czy to będzie działać?
PS. chodzi o to by zaingerować w odpaloną już aplikację:)

0

Kod to tylko dane, ciąg bajtów, procesor tego nie rozróżnia, można go modyfikować dowolnie, trzeba tylko wiedzieć co się robi. Oczywiście każdy proces ma odrębną, niezależną od innych procesów przestrzeń adresową... podsumowując - [glowa]

RE nie jest fajne, jest trudne, żmudne, prymitywne i nudne. Może nie tyle nudne co monotonne. Najpierw napisz trochę programów w assemblerze, połam trochę crackme - nie odróżniasz instrukcji procesora od funkcji a chcesz abusować gry online [glowa]

Jedno crackme na 4p ma status uncracked, jeżeli z tym sobie poradzisz to i ze zrobieniem sensownego bota - będzie to znaczyło, że masz podstawy.

R2
  • Rejestracja:ponad 15 lat
  • Ostatnio:ponad 15 lat
0

No mówiłem, że jestem początkujący i chce się uczyć, a nie od razu napisać bota;p
No i właśnie o taką pomoc mi chodziło już wiem czego mam się uczyć dzięki:)

KD
  • Rejestracja:ponad 19 lat
  • Ostatnio:ponad 15 lat
0

Jak jzu napisac bota dfo gry to najprostyszym rozwiazaniem bedzie symowalanie klikniec myszka i klawatury wystarczy tylko nauczyc go interpretowac obraz z gry i wykonywac odpowiednie ruchy

R2
  • Rejestracja:ponad 15 lat
  • Ostatnio:ponad 15 lat
0
Komorkowy_dzony napisał(a)

Jak jzu napisac bota dfo gry to najprostyszym rozwiazaniem bedzie symowalanie klikniec myszka i klawatury wystarczy tylko nauczyc go interpretowac obraz z gry i wykonywac odpowiednie ruchy

wiem pisałem przecież,że znam WinApi, ale zauważ, że to nie jest najlepsze rozwiązanie kiedy chodzi o gry online... wysyłasz klawisz, a przykładowo jest mały lag i ruch wtedy zostanie zignorowany...
oczywiście można to rozwiązać pobierać aktualną pozycje gracza i symulować ruch do czasu kiedy nie osiągnie wyznaczonej pozycji, ale niestety w taki sposób można robić tylko proste i często wadliwe boty.

0
Komorkowy_dzony napisał(a)

Jak jzu napisac bota dfo gry to najprostyszym rozwiazaniem bedzie symowalanie klikniec myszka i klawatury wystarczy tylko nauczyc go interpretowac obraz z gry i wykonywac odpowiednie ruchy

A napisałeś jakiegoś sensownego bota, że takie bzdury gadasz?

FA
  • Rejestracja:prawie 16 lat
  • Ostatnio:ponad 11 lat
0
... napisał(a)

Ale wysyp prawie-RE ostatnio, świat się kończy.
Ciekawe, czy Gyn ma z tym coś wspólnego :>. Dadzą sobie po paru dniach spokój, trzeba być naprawdę zboczonym, żeby wytrzymać zabawę w RE dłużej niż chwilę ;)

R2
  • Rejestracja:ponad 15 lat
  • Ostatnio:ponad 15 lat
0
... napisał(a)

A napisałeś jakiegoś sensownego bota, że takie bzdury gadasz?

Opartego o WinApi tak, który wysyła klawisze do gry i wiem co się dzieje jeśli nie ma sprawdzania pozycji(oczywiście nie twierdze, że we wszystkich grach)
ale chcę go ulepszy,ć a do tego muszę się sporo nauczyć...

0

Do "bawienia" się z Tibią poczytaj to:
http://code.google.com/p/tibiaapi/source/browse/trunk/tibiaapi
Tam masz odpowiednie adresy do robienia botów, keyloggerów...

0
Modry napisał(a)

Do "bawienia" się z Tibią poczytaj to:
http://code.google.com/p/tibiaapi/source/browse/trunk/tibiaapi
Tam masz odpowiednie adresy do robienia botów, keyloggerów...

oraz forum związane z tworzeniem programów do Tibii -> tpforums.org (miedzy innymi znajdziesz tam małe tutoriale jak używać ollydbg)

mSkiba
  • Rejestracja:około 15 lat
  • Ostatnio:około 11 lat
0

Chcesz sobie popisać bota to polecam Ci Robocode. Będzie z tego przynajmniej jakiś pożytek :)

Link: http://robocode.sourceforge.net/

Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)