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

Jak oszukać zabezpieczenia mchc, czyli jak wejść z własnym clientem!


GotoFinal

Rekomendowane odpowiedzi

Opublikowano

Z poziomu oddzielnej aplikacji edytuje wczytany już kod w jvm. Do tego wczytuje jeszcze własne klasy. W taki sposób wchodzę czystym minecraftem a później odpalam oddzielną aplikację, która podczas gry zmienia kod. Fajna sprawa.

eee, no to z edycją kodu, ale w runtime, a ja tu się zastanawiam jak to ktoś zrobił bez edycji.... 

Toż to żadna różnica czy sie edytuje bezpośrednio, czyli tylko w runtime za pomocą agentów/"instrumentacji" :P

 

Ale sam pomysł też niezły :D i całkiem wygodny ;)

1438614356923701010629.png

 

  • Odpowiedzi 97
  • Dodano
  • Ostatniej odpowiedzi
Opublikowano

No nie chciałem pisać o instrumentacji, bo zaraz by zablokowali i bym musiał chyba runtime javy edytować xD

@1361622928-U485574.pngDerpeusz już poluje :D Odpisałbyś coś a nie, tak milczysz, smutno bez ciebie.

Spokojnie derpuś, i tak się nie da nic zabezpieczyć od stony clienta i tak :D

 

To ja opisze mój idiotyczny sposób:

1. Zobacz że uzywają prawie tego samego kodu co z pierwszej wersji, który opiera się na md5 z plików gry. "java.class.path"

2. Skopiuj zwartość "java.class.path"

3. Skopiuj oryginalne 1.7.10, wklej do niego ich zabezpieczenia, chyba tam z 5-6 plików.

4. Nadpisz losową klasę z mc, taką która się łatwo dekompiluje i zmien "java.class.path" by wskazywał na stary nie-edytowany plik :D

 

EDIT: te pliki: (oczywiście te oryginalne, skompilowane, ale nie chciało mi się ich wyciągać tylko po to by screena dodać)

U2G86GX.png

 

Można to nawet debugerem zmienic i wtedy nie trzeba edytować kodu xD

 

Taaa.. rozwiązanie z głównego postu było lepsze, ale za to to jest idiotycznie proste, 1 linijka kodu.

Ale mi tam na samych czitach nie zależy, chodzi tylko o to by złamać, tak to nawet nie gram w MC, więc ani trochę mi to nie potrzebne.

1438614356923701010629.png

 

Opublikowano

Ale tak mi się spodobała ta instrumentacja, że ostatnio cały czas coś na niej robię. Dla przykładu żeby xraya zrobić, który w sumie i tak jest bezużyteczny wystarczy zrobić tak:

cc = classPool.get("blm");
CtMethod m = cc.getMethod("b", "(Laji;III)Z");
m.insertBefore("if (CheatManager.cantRender($1)) return true;");

Można nadpisywać całe metody nawet. 

BTW @1361622928-U485574.pngDerpeusz jak naciśniesz / w grze to zamiast napisanego ukośnika w czacie mam jakieś kanji. Możesz ogarnąć trochę te kodowanie stringów, i tak jest to tylko 5 minut roboty więcej.

signature%20-%20Kopia.PNG

Opublikowano

Dzięki za testy! Jak Wam się nudzi, to zapraszam na dogrywkę dzisiaj późniejszym wieczorem bo będzie force update(chyba że wolicie już teraz zacząć i dostać oddzielne IP serwera i jary do zabawy).

 

To do czego dążę nie jest niemożliwe mimo że to client-side, ale mam godnych przeciwników. Chciałbym żeby tym razem przetrwało chociaż 24h Wasze próby ;)

 

Pozdrawiam

Opublikowano

Dzięki za testy! Jak Wam się nudzi, to zapraszam na dogrywkę dzisiaj późniejszym wieczorem bo będzie force update(chyba że wolicie już teraz zacząć i dostać oddzielne IP serwera i jary do zabawy).

 

To do czego dążę nie jest niemożliwe mimo że to client-side, ale mam godnych przeciwników. Chciałbym żeby tym razem przetrwało chociaż 24h Wasze próby ;)

 

Pozdrawiam

zobaczyć zobaczę, ale nie wiem czy na pewno wtedy kiedy chcesz :D mam trochę roboty na ten weekend a ty mi psujesz terminy :<

 

No ale się zobaczy, może coś ciekawego, a może znowu padnie po kilku minutach.

 

Mam na dziś zlecenie, małe co prawda, na godzinkę lub dwie, ale to co do tej pory napisałem:

public class Main extends JavaPlugin
{
    private static Main instance;

    public static Main getInstance()
    {
        return instance;
    }

    {
        Main.instance = this;
    }

    @Override
    public void onEnable()
    {

    }

    @Override
    public void onDisable()
    {

    }
}
public class Cfg {}

nie najlepiej... :D

 

Więc proszę ja ciebie, potem xD

1438614356923701010629.png

 

Opublikowano

Super  :D Postaram się załatwić wersję beta + oddzielny serwer proxy do "wbijania"

Ooo, tak to my się nie bawimy, przeobfuskowałeś kod. Mój kod wciąż się tam wszczepia, ale tym razem, muszę od początku ogarnąć klasy... Nie rozwiązałeś problemu, nie odrobiłeś pracy domowej.

 

EDIT: Twoje starania były warte 30 minut przepisywania.

 

Zrzut%20ekranu%202015-06-27%2010.35.27.p

signature%20-%20Kopia.PNG

Opublikowano

I stada cheaterów wracają, bo grać inaczej nie potrafią :) 

 

MCHC zrobiło po to ten Launcher żeby eliminować takich graczy z cheatami. Mam nadzieję, że uda im się jak najszybciej to załatać. ­

Opublikowano

I stada cheaterów wracają, bo grać inaczej nie potrafią :) 

 

MCHC zrobiło po to ten Launcher żeby eliminować takich graczy z cheatami. Mam nadzieję, że uda im się jak najszybciej to załatać. ­

Mi nie chodzi o to by zwiększyć liczbę cheaterów, tylko o to by serwery raczej stawiały na realne zabezpieczenia, a nie jakieś gówno client-side :P

Nie wiem jak z @stirante

1438614356923701010629.png

 

Opublikowano

I stada cheaterów wracają, bo grać inaczej nie potrafią :) 

 

MCHC zrobiło po to ten Launcher żeby eliminować takich graczy z cheatami. Mam nadzieję, że uda im się jak najszybciej to załatać. ­

Ale ja tego nawet nie zamierzam udostępniać, chciałem tylko udowodnić, że zabezpieczenia client-side są niemożliwe. Ponadto uraziła mnie ich pewność siebie, że na ich serwerze noga cheatera już nie stanie. Żeby nie było całkowicie cheatów to chyba trzeba byłoby zrobić aplikację, która wysyła dane z klawiatury i myszki do serwera a serwer odsyłałby wyrenderowany obraz i dźwięk, chociaż nawet wtedy można byłoby robić jakiegoś clickera. 

signature%20-%20Kopia.PNG

Opublikowano

Można i tak :P ja tam swój cel osiągnąłem i się z tego cieszę.

Chyba że mnie oświecisz z zablokowaniem tego małego czegoś co się injectuje już po uruchomieniu.

 

Nie zgadzam się z goto że robienie zabezpieczeń client-side jest bez sensu. Valve wiedziało co robi rozwijając VAC.

Skoro już jesteśmy na etapie że robisz to tylko dla siebie i nie udostępniasz to proponuję żebyś podał szczegóły metody injectu, a później ewentualnie zaczął zabawę od nowa :D

Opublikowano

Można i tak :P ja tam swój cel osiągnąłem i się z tego cieszę.

Chyba że mnie oświecisz z zablokowaniem tego małego czegoś co się injectuje już po uruchomieniu.

 

Nie zgadzam się z goto że robienie zabezpieczeń client-side jest bez sensu. Valve wiedziało co robi rozwijając VAC.

Skoro już jesteśmy na etapie że robisz to tylko dla siebie i nie udostępniasz to proponuję żebyś podał szczegóły metody injectu, a później ewentualnie zaczął zabawę od nowa :D

Cel? jaki cel? że dalej jest to nic nie warte? :D

 

A jak to działa to już było napisane:

 

Z poziomu oddzielnej aplikacji edytuje wczytany już kod w jvm. Do tego wczytuje jeszcze własne klasy. W taki sposób wchodzę czystym minecraftem a później odpalam oddzielną aplikację, która podczas gry zmienia kod. Fajna sprawa.

Piękno javy gdzie wszystko jest możliwe bez żadnych problemów.

 

Co do valve.. ale zauważ że ich system to nie jest jedna idiotyczna informacja wysylana na starcie aplikacji :P

No i nie jest w javie, no i ludzie i tak to omiają.

1438614356923701010629.png

 

Opublikowano

Cel? jaki cel? że dalej jest to nic nie warte? :D

 

A jak to działa to już było napisane:

 

Piękno javy gdzie wszystko jest możliwe bez żadnych problemów.

 

Co do valve.. ale zauważ że ich system to nie jest jedna idiotyczna informacja wysylana na starcie aplikacji :P

No i nie jest w javie, no i ludzie i tak to omiają.

jest warte wystarczająco żeby poprawić jakość gry na serwerze ;) widzę że trudno Ci zrozumieć że nie chce mi się bawić w perfekcjonizm bo cel mam dużo prostszy i został on zrealizowany

Opublikowano

Myślę, że jednak taki Launcher powoduje, że jakaś część dzieci używających Cheaty nie wchodzi już na Serwer :)

A ten temat umożliwia wejście z cheatami tym trochę inteligentniejszym, bo mądrością tego nie nazwę.

 

A niestety zawszę się ktoś taki znajdzie, kto jakieś pliki napisze, żeby zrobić nazłość - i jeszcze udostępni, żeby pełno mini-cheaterów robiło rozróbę. 

Opublikowano

@1361622928-U485574.pngDerpeusz

 

Niczego trudnego nie widze ;>

 

 

ale dzieki takim zabezpieczenia fajnie sie zarabia na bypassach xD

Opublikowano

Idźcie męczyć xcr  :P  xD

w3k83q.jpg

Tak tylko cię poinformuję: Nazwy zmiennych lokalnych i parametrów "nie istnieją", java je zapisuje w plikach tylko dla debugu/informacji/tak właściwe nikt nie wie po co.

A tak to wszystko opiera się na stosie, co z resztą widać w bytecode jak używa aload i pokrewnych.

 

A wszystkie inne nazwy zawsze można zmienić, ale w wielu przypadkach, po prostu ma się je w dupie, bo i tak w niczym nie przeszkadzają.

 

 

PS: north rozdaje lajki, zaraz się zlecą ludzie.

 

 

EDIT:

@1361622928-U485574.pngDerpeusz ale pokazujesz ten kod jak byś widział w nim jakieś czarne magie.

I nie fochaj się, to tylko forum i temat o gierce.

1438614356923701010629.png

 

Opublikowano

Tak tylko cię poinformuję: Nazwy zmiennych lokalnych i parametrów "nie istnieją", java je zapisuje w plikach tylko dla debugu/informacji/tak właściwe nikt nie wie po co.

A tak to wszystko opiera się na stosie, co z resztą widać w bytecode jak używa aload i pokrewnych.

 

A wszystkie inne nazwy zawsze można zmienić, ale w wielu przypadkach, po prostu ma się je w dupie, bo i tak w niczym nie przeszkadzają.

 

 

PS: north rozdaje lajki, zaraz się zlecą ludzie.

nie wiem z kogo chcesz zrobić debila, to nie mój kod tylko z xcrafters

 

>@1361622928-U485574.pngDerpeusz ale pokazujesz ten kod jak byś widział w nim jakieś czarne magie.

pokazuję go tak że jest na tyle prosty że jak się nudzicie to idźcie pomęczyć xcrafters ;) bo tam to 30s roboty, u mnie z 60x dłużej  :D
Opublikowano

 

nie wiem z kogo chcesz zrobić debila, to nie mój kod tylko z xcrafters

 

>@1361622928-U485574.pngDerpeusz ale pokazujesz ten kod jak byś widział w nim jakieś czarne magie.

pokazuję go tak że jest na tyle prosty że jak się nudzicie to idźcie pomęczyć xcrafters ;) bo tam to 30s roboty, u mnie z 60x dłużej  :D

 

no widzisz, a jaka jest zabawa z prostym kodem :D

Nie no, ja ogólnie nic na razie nie robię, muszę nadgonić braki w moich projektach.

1438614356923701010629.png

 

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...