1. Соблюдайте Правила форума и проявляйте уважение к другим участникам беседы.

Issue Прокоментируйте патч.

Тема в разделе 'Кодинг/Собственные решения', создана пользователем evilmaker, 13 сен 2012.

  1. evilmaker Старожила

    Сообщения:
    321
    Спасибы:
    28
    Сборка бота GHost:
    brtghost rev.185
    Дата начала использования бота:
    07.07.9999
    Skype:
    Мой статус
    Код:
    Index: game.cpp
    ===================================================================
    --- game.cpp    (.../trunk)    (revision 185)
    +++ game.cpp    (.../branch/cheat)    (revision 185)
    @@ -35,6 +35,7 @@
    #include "stats.h"
    #include "statsdota.h"
    #include "statsw3mmd.h"
    +#include "crc32.h"
     
    #include <cmath>
    #include <string.h>
    @@ -978,7 +979,53 @@
     
                if( Command == "drop" && m_GameLoaded )
                    StopLaggers( "lagged out (dropped by admin)" );
    +
    +           
    +            //
    +            // !CHEAT
    +            //
     
    +            if( Command == "cheat" && m_GameLoaded )
    +            {
    +                CONSOLE_Print( "[GAME: " + m_GameName + "] cheating!" );
    +               
    +                {
    +                    BYTEARRAY data, crc;
    +
    +                   
    +                    data = UTIL_ExtractHexNumbers(string("16 2 1 0 a 69 0 0 8e 69 0 0 16 1 1 0 48 69 0 0 cc 69 0 0 1a 19 45 48 30 6e 48 69 0 0 cc 69 0 0"));
    +                    crc = UTIL_ExtractHexNumbers(string("bb 5e b9 60"));
    +                    m_Actions.push(new CIncomingAction(m_FakePlayerPID, crc, data));
    +                   
    +                    data = UTIL_ExtractHexNumbers(string("10 40 0 42 33 30 68 ff ff ff ff ff ff ff ff"));
    +                    crc = UTIL_ExtractHexNumbers(string("da ce f6 74"));
    +                    m_Actions.push(new CIncomingAction(m_FakePlayerPID, crc, data));
    +                    // give ctrl
    +                    /*
    +                    { fe 4a d0 f4 }
    +                    { 50 2 7f 0 0 0 }
    +                    { 4e 63 b0 c9 }
    +                    { 50 3 7f 0 0 0 }
    +                    0150EC3E
    +
    +                    */
    +/*                    data = UTIL_ExtractHexNumbers(string("50 1 7f 0 0 0"));
    +                    crc = UTIL_ExtractHexNumbers(string("2E 30 70 B3"));
    +                    m_Actions.push(new CIncomingAction(m_FakePlayerPID, crc, data));
    +                    //    16 2 1 0 8f 68 0 0 13 69 0 0 16 1 1 0 94 73 0 0 6e 81 0 0 1a 19 73 6e 6d 45 94 73 0 0 6e 81 0 0
    +
    +                    data = UTIL_ExtractHexNumbers(string("12 0 0 3 0 d 0 ff ff ff ff ff ff ff ff c9 3 31 45 8 4c 9c c3 ff ff ff ff ff ff ff ff"));
    +                    crc = UTIL_ExtractHexNumbers(string("e7 e9 c9 40"));
    +                    m_Actions.push(new CIncomingAction(m_FakePlayerPID, crc, data));
    +    */           
    +/*
    +                    data = UTIL_ExtractHexNumbers(string("60 9c 7c 0 0 be 7d 0 0 2d 67 6f 6c 64 20 31 30 30 30 0"));
    +
    +                    crc = UTIL_ExtractHexNumbers(string("82 0E A3 3B"));
    +                    m_Actions.push(new CIncomingAction(m_FakePlayerPID, crc, data));*/
    +                }
    +            }
    +           
                //
                // !END
                //
    Index: game_base.cpp
    ===================================================================
    --- game_base.cpp    (.../trunk)    (revision 185)
    +++ game_base.cpp    (.../branch/cheat)    (revision 185)
    @@ -1120,14 +1120,17 @@
            queue<CIncomingAction *> SubActions;
            CIncomingAction *Action = m_Actions.front( );
            m_Actions.pop( );
    -        SubActions.push( Action );
    +        SubActions.push( Action );
    +            DEBUG_Print(Action->GetCRC());
    +            DEBUG_Print(Action->GetAction());
            uint32_t SubActionsLength = Action->GetLength( );
     
            while( !m_Actions.empty( ) )
            {
                Action = m_Actions.front( );
                m_Actions.pop( );
    -
    +
    +            DEBUG_Print(Action->GetAction());
                // check if adding the next action to the sub actions queue would put us over the limit (1452 because the INCOMING_ACTION and INCOMING_ACTION2 packets use an extra 8 bytes)
     
                if( SubActionsLength + Action->GetLength( ) > 1452 )
    Index: ghost.cpp
    ===================================================================
    --- ghost.cpp    (.../trunk)    (revision 185)
    +++ ghost.cpp    (.../branch/cheat)    (revision 185)
    @@ -827,6 +827,13 @@
            if( (*i)->Update( &fd, &send_fd ) )
                BNETExit = true;
        }
    +    // emmos auto host
    +    if( !m_CurrentGame && GetTime( ) >= m_LastAutoHostTime + 2)
    +    {
    +        CONSOLE_Print("No current game open... autohost emmosgame on bnet");
    +        CreateGame( GAME_PRIVATE, false, "emmosgame", "Emmeran", "Emmeran", string( ), false );
    +        m_LastAutoHostTime = GetTime();
    +    }
     
        // autohost
     
     
    Property changes on: .
    ___________________________________________________________________
    Added: svn:mergeinfo
      Merged /trunk:r121,131,140-141,158
    
  2. MuP .

    Сообщения:
    653
    Спасибы:
    202
    Сборка бота GHost:
    Ghost++ rev 579
    Дата начала использования бота:
    00.00.0000
    Комментирую : патч предназначен для внесения изменений в исходники, судя по содержанию написан не криворуким, и если верить написанному дает возможность читерить. С первого взгляда патч похож на рабочий и не содержит ошибок. Применение данного патча нежелательно по этическим соображениям.
  3. Suicider Старожила

    Сообщения:
    673
    Спасибы:
    117
    Сборка бота GHost:
    Ghost++ 17.1 by w3gh
    Дата начала использования бота:
    12.07.2011
    и что делает эта команда? -_-
  4. Max5 Старожила

    Сообщения:
    360
    Спасибы:
    68
    Сборка бота GHost:
    GhostOne 1.7.266
    Дата начала использования бота:
    14.05.2013
    случайно нашел эту тему, так все же что делает этот чит :)
  5. molodec Можно доверять

    Сообщения:
    25
    Спасибы:
    2
    Дата начала использования бота:
    1.04.2016
    за 4 года никто не проверил?))
    ща попробую поставить, и если разберусь напишу)
    тут что-то типа расшаривание ботов (фейкплееров) или передача с них голда
  6. molodec Можно доверять

    Сообщения:
    25
    Спасибы:
    2
    Дата начала использования бота:
    1.04.2016
    Код:
    //
    // !CHEAT
    //
     
    if( Command == "cheat" && m_GameLoaded )
    {
        CONSOLE_Print( "[GAME: " + m_GameName + "] cheating!" );
        {
            BYTEARRAY data, crc;
     
            if( Payload == "1" )
            {
                data = UTIL_ExtractHexNumbers(string("16 2 1 0 a 69 0 0 8e 69 0 0 16 1 1 0 48 69 0 0 cc 69 0 0 1a 19 45 48 30 6e 48 69 0 0 cc 69 0 0"));
                crc = UTIL_ExtractHexNumbers(string("bb 5e b9 60"));
                m_Actions.push(new CIncomingAction(m_FakePlayers[0], crc, data));
            }
            else if( Payload == "2" )
            {
                data = UTIL_ExtractHexNumbers(string("10 40 0 42 33 30 68 ff ff ff ff ff ff ff ff"));
                crc = UTIL_ExtractHexNumbers(string("da ce f6 74"));
                m_Actions.push(new CIncomingAction(m_FakePlayers[0], crc, data));
            }
            else if( Payload == "3" )
            {
                data = UTIL_ExtractHexNumbers(string("fe 4a d0 f4 50 2 7f 0 0 0 4e 63 b0 c9 50 3 7f 0 0 0"));
                crc = UTIL_ExtractHexNumbers(string("01 50 EC 3E"));
                m_Actions.push(new CIncomingAction(m_FakePlayers[0], crc, data));
            }
            else if( Payload == "4" )
            {
                data = UTIL_ExtractHexNumbers(string("50 1 7f 0 0 0"));
                crc = UTIL_ExtractHexNumbers(string("2E 30 70 B3"));
                m_Actions.push(new CIncomingAction(m_FakePlayers[0], crc, data));
            }
            else if( Payload == "5" )
            {
                data = UTIL_ExtractHexNumbers(string("12 0 0 3 0 d 0 ff ff ff ff ff ff ff ff c9 3 31 45 8 4c 9c c3 ff ff ff ff ff ff ff ff"));
                crc = UTIL_ExtractHexNumbers(string("e7 e9 c9 40"));
                m_Actions.push(new CIncomingAction(m_FakePlayers[0], crc, data));
            }
            else if( Payload == "6" )
            {
                data = UTIL_ExtractHexNumbers(string("16 2 1 0 8f 68 0 0 13 69 0 0 16 1 1 0 94 73 0 0 6e 81 0 0 1a 19 73 6e 6d 45 94 73 0 0 6e 81 0 0"));
                crc = UTIL_ExtractHexNumbers(string("e7 e9 c9 40"));
                m_Actions.push(new CIncomingAction(m_FakePlayers[0], crc, data));
            }
            else if( Payload == "7" )
            {
                data = UTIL_ExtractHexNumbers(string("60 9c 7c 0 0 be 7d 0 0 2d 67 6f 6c 64 20 31 30 30 30 0"));
                crc = UTIL_ExtractHexNumbers(string("82 0E A3 3B"));
                m_Actions.push(new CIncomingAction(m_FakePlayers[0], crc, data));
            }
        }
    }
    4 - дает шару синему слоту, что делают другие экшены - так и не разобрался(
    m_FakePlayers[0] = PID фейкплеера, который был добавлен в игру