Skocz do zawartości

querk

  • Postów

    14
  • Dołączył

  • Dostępny

  • Donacje

    0.00 PLN 
  • Diamenty

    0 [ Podaruj ]

Posty opublikowane przez querk

  1. Cześć, mam problem, ponieważ odczytanie classid powoduje wyrzucenie gry do pulpitu po około 3 sekundach. Wartości odczytuje poprawne (tak mi się wydaje, zdjęcie w załączniku). Wiecie, co może być tego przyczyną?

    Wstawienie delay'a (minimum 10 ms) pomiędzy 4 ostatnie zmienne eliminuje ten problem, ale wtedy działa to "strasznie".

    int GlowObject = vam.ReadInt32((IntPtr)(bClient + oGlowObject));
    int Entity = vam.ReadInt32((IntPtr)(GlowObject + 0x38 * i));
    int stepOne = vam.ReadInt32((IntPtr)(Entity + 0x8));
    int stepTwo = vam.ReadInt32((IntPtr)(stepOne + 0x8));
    int stepThree = vam.ReadInt32((IntPtr)(stepTwo + 0x1));
    int ClassID = vam.ReadInt32((IntPtr)(stepThree + 0x14));

     

    classid.jpg

  2. Mam problem, mianowicie chodzi o to że chyba źle czytam hp graczy. Problem przedstawiony jest na filmie https://youtu.be/ariz1fX3H0k

    Program ma za zadanie zmienić kolor glow, jednakże robi to na losowo wybranym graczu. 

    Czy wartość HP odczytuje prawidłowo, ewentualnie co może być tego przyczyna? Domyślnie glow ma kolor czerwony, jednak postacie są zielone wiec warunek powyżej 75 musiał się wykonać, tylko dlaczego później ma z tym problemy? Ustawilem breakpoint i zmienna Health przechowuje prawidłowe wartości HP. Dziwne.

     

    VAM dla uproszczenia
            i = 0;
    		do
                    {
                        GlowStruct Enemy = new GlowStruct()
                        {
                            r = red,
                            g = green,
                            b = blue,
                            a = alpha,
                            rwo = rwo,
                            rwuo = rwuo
                        };
    					//read info about player itd.
    
                        int EntityList = vam.ReadInt32((IntPtr)bClient + oEntityList + i * 0x10);
                        int Health = vam.ReadInt32((IntPtr)EntityList + oHealth);
                        if (Health >= 75)
                        {
                            red = 0;
                            green = 1;
                            blue = 0;
                        }
                        else if (Health >= 35 && Health < 75)
                        {
                            red = 1;
                            green = 1;
                            blue = 0;
                        }
                        else if (Health < 35)
                        {
                            red = 1;
                            green = 0;
                            blue = 0;
                        }
                        if (!vam.ReadBoolean((IntPtr)EntityList + oDormant))
                        {
                            int GlowIndex = vam.ReadInt32((IntPtr)EntityList + oGlowIndex);
                            if (MyTeam != HisTeam)
                            {
                                int GlowObject = vam.ReadInt32((IntPtr)bClient + oGlowObject);
                                vam.WriteFloat((IntPtr)GlowObject + (GlowIndex * 0x38 + 0x4), Enemy.r);
                                vam.WriteFloat((IntPtr)GlowObject + (GlowIndex * 0x38 + 0x8), Enemy.g);
                          		//itd
                            }
                        }
                        i++;
                    }
                    while (i < 65);

     

  3. Niby tak, ale problem pojawiał się gdy przeciwnik zginie, wtedy object zamienia się na null i przy następnym wykonaniu pętli wyrzuca błąd, że obiekt nie istnieje.

     

    Zrobiłem to trochę inaczej: sortuje tablice, następnie przeszukuje ją, aż trafię na object. I takim sposobem dostałem index mojej najmniejszej wartości.

  4. Cześć, ogarnia ktoś C# na tyle aby pomoc naprawić błąd z przekroczeniem granicy indeksu?

    Program ma na celu obliczyć odległości wroga i wybrać najbliższego. W skrócie działa tak, że w pętli sprawdzam sobie pojedynczo każdego gracza i w momencie gdy jest wrogiem wrzucam go do tablicy zawierającej obiekty klasy Gracz. Przed dodaniem gracza do tabeli zmieniam jej rozmiar tak żeby pozbyć się null'ów. Wg. mnie wszystko powinno śmigać, dodam również że program działa z nullami, ale wolałbym się ich pozbyć bo trochę komplikuje mi to sprawę.

     

    Chyba ze to na kolekcje przerobić?

     

     

    Spoiler
    
    public class Gracz : IComparable
            {
                public int id;
                public double hyp;
            }
    
    Gracz[] tablicaGraczy = new Gracz[55];
    
    if (ZczytajModulyProcesu() && ZczytajModulyProcesuEngine())
                {
                    int i = 0;
                    int count = 1;
                    while (GetAsyncKeyState(0x02) < 0)
                    {
                        //dostaje info o mnie
    
                        //dosteje info o wrogu
    
                        if ((myTeam != enemyTeam) && (enemyTeam > 1) && (enemyHealth > 0))
                        {
                            Array.Resize(ref tablicaGraczy, count); //to dziala, zmienia mi rozmiar
    
                            tablicaGraczy[count] = new Gracz(); //tutaj tworzy prawidlowo
                            tablicaGraczy[count - 1].id = i;  //tutaj wywala mi blad "Indeks wykraczał poza granice tablicy”
                            tablicaGraczy[count - 1].hyp = calcHyp(myPositionX, myPositionY, myPositionZ, enemyPositionX, enemyPositionY, enemyPositionZ);
                            count++;
                        }
    
                        if(i==55)
                        {
                          //tutaj sortuje tabele i wykonuje najazd na gracza, nastepnie zeruje i zaczynajac wszystko od nowa
                            i = 0;
                        }
                        else
                            i++;
                    }
                }

     

     

  5. Cześć, znalazłem znowu trochę czasu i tym razem chciałbym napisać aimbot do cs:go.

     

    Chciałbym to zrobić tak: zczytuje moja pozycje, oraz przeciwnika, następnie wyliczam kat obrotu z cosinusa tak jak na rysunku w załączniku.

     

    Jest to poprawne rozwiązanie?

    Prosiłbym również o adresy do pozycji gracza oraz obrotu, ponieważ tak średnio ogarniam cheat engine :/

    Z gry dziękuje za pomoc.

     

    //Na rysunku powinien być cosinus.

    post-303152-0-53902300-1498577066_thumb.png

  6. Cześć, proszę o wytłumaczenie jak działa radarhack, ale taki bez tworzenia dodatkowego okienka. 

     

    Tak wiec, co muszę odczytać, dodać, jaki jest stały adres itp aby wyświetlić gracza na mapie w grze.

     

    Już trochę podziałałem w tym temacie, w sensie takim że przy pomocy cheat engine starałem się znaleźć adres odpowiedzialny za wyświetlenie gracza na mapie. Takim sposobem znalazłem 7 adresów. Testując dalej w cheat engine, dwa z nich zmieniają wartość pozostałych i wyświetlają gracza na mapie w grze, ale tylko w przypadku gdy wartość wynosi 1, "ukryć" gracza nie mogę.

     

    Z góry dziękuje za pomoc.

  7. Wytłumaczy mi ktoś ten zapis? A właściwie dlaczego 0x34 + 0x4 oraz dlaczego dodawanie zwiększa się o 4.

    Wydaje mi się że z każdym "krokiem" zwiększa się o 4, ponieważ float ma 4 bajty i o tyle powinien się zmienić adres w pamieć. Dobrze to rozumiem?

    Jeśli tak, to zostaje jeszcze kwestia 0x34, dlaczego akurat ta liczba i dlaczego jest stała ?

     

    proM.Write<float>((glow_Pointer + ((glow_currentPlayerGlowIndex * 0x34) + 0x4)), GlowTerroristRed);
    proM.Write<float>((glow_Pointer + ((glow_currentPlayerGlowIndex * 0x34) + 0x8)), GlowTerroristGreen);
    proM.Write<float>((glow_Pointer + ((glow_currentPlayerGlowIndex * 0x34) + 0xC)), GlowTerroristBlue);
    proM.Write<float>((glow_Pointer + ((glow_currentPlayerGlowIndex * 0x34) + 0x10)), GlowTerroristAlpha);
    

     

  8. Wytłumaczy mi ktoś ten zapis? A właściwie dlaczego 0x34 + 0x4 oraz dlaczego dodawanie zwiększa się o 4. Wydaje mi się że z każdym "krokiem" zwiększa się o 4, ponieważ float ma 4 bajty i o tyle powinien się zmienić adres w pamieć. Dobrze to rozumiem? Jesli tak, to zostaje jeszcze kwestia 0x34, dlaczego akurat ta liczba i dlaczego jest stała ?

     

    proM.Write<float>((glow_Pointer + ((glow_currentPlayerGlowIndex * 0x34) + 0x4)), GlowTerroristRed);

    proM.Write<float>((glow_Pointer + ((glow_currentPlayerGlowIndex * 0x34) + 0x8)), GlowTerroristGreen);

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Regulamin. Polityka prywatności