Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

DirectInput ByPass w AutoIt


Rekomendowane odpowiedzi

Opublikowano

Witam. Chce stworzyć prostego bot'a do gry Aion mianowice do autocrafting'u działającego w tle ale niestety gra ma zabezpieczenie przed wysyłaniem klawiszy. Próbowałem już ControlSend oraz wysyłanie za pomocą PostMessage przy użyciu biblioteki user32.dll ale niestety obie te funkcje są wykrywane a klawisze jedynie odbierane są przy używaniu czatu w grze. Czy istnieje jakieś ominięcie tej blokady? Myślałem już nad jakimś symulatorem klawiatury, ale mój zasób umiejętności w AutoIt jest dość mały, dlatego prosze o waszą pomoc.

Pozdrawiam

sygnae.jpg

Opublikowano

To już wiem, o czym zresztą też powiedziałem na początku, Pytam czy znacie już jakieś istniejące ByPass'y do tego typu zabezpieczen. Przeszukałem już naprawde dużo wątków w sieci, ale wszystkie są albo przestarzałe albo poprostu nie działają.

sygnae.jpg

Opublikowano

Znalazłem w sieci kod źródłowy biblioteki która omijaja te zabezpieczenie jednak jest on w języku C++ którego niestety niezbyt ogarniam. Czy ktoś mógłby mi pomóc zaimplementować te biblioteki do mojego projektu i poprawnie je wykorzystać?

dinputHook.zip

sygnae.jpg

Opublikowano

Piekielnie trudne? Serio? :D  To jest AutoIt, a nie Assembler przypominam ^^
Wiem że uruchamia specjalny tunel na którym dalej wykonuje sie operacje, ale po prostu nie wiem jak ten tunel odpalic i jak w nim co kolwiek zrobic.

 

Aha no i znalazłem tez inną biblioteke tego typu, tym razem lepiej opisaną jednak dalej za mało żebym mógł z nią coś zrobić..

DInput-Hook-2005-22-01.zip

sygnae.jpg

Opublikowano

Przepisywanie tego i wszystkich bibliotek dołączonych to jest robota na bardzo długo, ze względu na ograczenia autoita. + nie wiem czy jest jakakolwiek możliwość zrobienia rzutowań na DWORD'ach i zrobienia oraz używania wskaźników w takim stopniu jak w C++, przez co translacja tego kodu na AutoIT odpada.

 

ps. ASM jest prosty. Wbrew pozorom.

846331404756772371599.jpeg
Opublikowano

Ja nie chce tłumaczyć tego kodu do AutoIt'a bo wiem że to graniczy z códem. Ja chce na prostych operacjach typu DllCall operować daną biblioteką.... Nie musze jej całej przepisywać do autoita przecież..

 

Ps. Assembler jest najcięższym językiem niskopoziomowym gdyż ma budowe najbardziej zbliżoną do kodu maszynowego ;)

sygnae.jpg

Opublikowano

@Adiko a probówałeś kiedyś programować albo cokolwiek robić w asmie? Szczerze mówiąc - nie sądzę.

 

Chcesz na operacjach typu DllCall operować tą "biblioteką". To sobie ją skompiluj i używaj. O ile potrafisz. Aczkolwiek wydajność takiego skryptu i tak będzie minimalna.

 

Jak mówiłem - chcesz pisać cheaty, przerzuć się na C++ bo w AutoIT nie zaszalejesz, bo nie masz na czym.

846331404756772371599.jpeg
Opublikowano

@PhoenixPL Skoro jest taki prosty i wydajny, to czemu programiści wolą C++/C# czy jakiekolwiek inne języki niż assembler? :)

 

 

 

To sobie ją skompiluj i używaj. O ile potrafisz. 

 

Brak słów xDD

 

 

Z*********e konkretnie odpowiadasz mi na moje pytanie. Biblioteke już skompilowałem ale nadal nie wiem jak nią operować bo NIE ZNAM C++ i nie będe sie go uczył żeby zrobić coś tak prostego. Nie musisz mi tłumaczyć jaki to autoit jest nie wydajny i jak to nie opłaca sie w nim cokolwiek robić bo uwierz mi wiem o tym.

Tak więc, wracając do tematu, czy ktoś(kto ogarnia C++ i rozumie budowe tej biblioteki) mi wyjaśni jak nią operować? :)

sygnae.jpg

Opublikowano

<facepalm>

 

Nikt nie programuje w asmie bo to mija się z celem, ale nie oznacza to że asm jest trudny. C++ jest porównywalnie wydajne z asmem.

 

uwaga, instrukcja "jak-to-zrobić", czyli powód dla którego założyłeś tu temat:

1. Skompiluj kod do DLL'ki dowolnym kompilatorem

2. Użyć DllCall żeby wywołać funkcje które cię interesują.

 

Nie jesteśmy od tego żeby siedzieć przed komputerem i rozkminiać do czego służy jaka funkcja i jak to działa, w kodzie podanym przez ciebie, bo to moja się z celem. Znajdź autora i niech ci wytłumaczy, bo ten kod jest trochę za mocno skomplikowany żeby go analizować krok po kroku. Albo jakąś jego dokumentację, bo tutaj nawet komentarzy nie ma zrobionych na tyle, żeby dowiedzieć się o kodzie czegoś więcej niżeli jest to jakiś hook który ma udawać klawiaturę, wstrzykiwany do innego procesu za pomocą injekcji wątku + sporo reverse-engineerowskiego stuffu którego nie rozumiem (niech ktoś kto lepiej ogarnia mnie poprawi, jeśli zinterpretowałem kod źle).

 

Tak więc, podsumowując: nikomu raczej by się nie chciało analizować tego kodu, znajdź autora i niech tłumaczy ci do czego on służy, jak zaimplementować to w autoit już wiesz, tyle na ten temat. Bez znajomości C++ i reverse engineeringu na poziomie dosyć dobrym i tak pewnie sobie nie poradzisz, ale to już nie moja sprawa. gl&hf

846331404756772371599.jpeg
Opublikowano

"Mija sie z celem" :D

 

Naucz się obu języków C++ i Assembler, a potem spróbuj w obu tych jezykach napisać prosty kalkulator. Zobacz ile czasu ci to zajmie oraz jak dużo tekstu napiszesz w assemblerze a ile w C++. Wtedy zrozumisz o co mi chodzi mówiąć że ten język nie należy do prostych :)

 

Co do samego tematu... Widzisz, jest różnica pomiędzy "Potrafie pisać w C++" a "Znam język C++"  

W moim 4 poście dałem link do innego DInputHooka, który jest dość konkretnie opisany komentarzami oraz jest nawet ładny przykładzik jak go wykorzystywać w C++ , więc ułatwia to bardzo zadanie, aczkolwiek dla mnie nie wystarczająco więc potrzebuje pomocy. Jeśli ci sie nie chce to nie musisz tego robic nie zmuszam, tylko prosze :)

sygnae.jpg

Opublikowano

"Mija sie z celem" :D

 

Naucz się obu języków C++ i Assembler, a potem spróbuj w obu tych jezykach napisać prosty kalkulator. Zobacz ile czasu ci to zajmie oraz jak dużo tekstu napiszesz w assemblerze a ile w C++. Wtedy zrozumisz o co mi chodzi mówiąć że ten język nie należy do prostych :)

ilość kodu =/= trudność

 

instrukcje w asmie są elementarnie proste, jako język jest on prosty. jedyna trudność pisania w nim to wiedza na temat "co do czego służy, jakiego przerwania kiedy użyć".

 

http://lorddarkstorm.pl/kalkulator-w-asm/

 

Oto przykładowy kod kalkulatora w asmie. Według mnie, znającego asma na poziomie podstawowym, dosyć łatwy kawałek kodu.

 

Ale to już tak kompletnie out of topic, gwoli wyjaśnienia. I'm out.

846331404756772371599.jpeg

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...