FtGuard и Windows 10

Roster

Пляшущий с бубном
Участник
Сообщения
51
Розыгрыши
0
Решения
1
Репутация
1
Реакции
11
Баллы
210
Хроники
  1. Chaotic Throne: High Five
Исходники
Присутствуют
Сборка
HF
Проблема следующая. после компиляции dsetup.
пишет Bot Program Detected #0!

C++:
int __fastcall new_AddNetworkQueue(unsigned int This, unsigned int EDX, TNetworkPacket *NetworkPacket)
{
    if ((*(unsigned int*) (KiUserExceptDispADR + 10) + KiUserExceptDispADR < hNtDllStart) || (*(unsigned int*) (KiUserExceptDispADR + 10) + KiUserExceptDispADR > hNtDllEnd))
        ErrorExit("Bot Program Detected #0!");

    unsigned int retAddr = *((unsigned int*) &NetworkPacket - 1);

    if ((retAddr < hEngineStart) || (retAddr > hEngineEnd))
        ErrorExit("Bot Program Detected #1!");

    if (NetworkPacket->subid == 0xFFFF)
    {
        switch (NetworkPacket->id)
        {
            case 0x2E:
                decodeKey(NetworkPacket->data + 1);
                break;
            case 0xB0:
                memset(&SpecialStrings[NetworkPacket->data[0]].FontDrawInfo, 0, sizeof(TFontDrawInfo));
                SpecialStrings[NetworkPacket->data[0]].isDraw = (NetworkPacket->data[1] == 1) ? true : false;
                SpecialStrings[NetworkPacket->data[0]].FontDrawInfo.font = (char) NetworkPacket->data[2];
                SpecialStrings[NetworkPacket->data[0]].x = *(int*) (NetworkPacket->data + 3);
                SpecialStrings[NetworkPacket->data[0]].y = *(int*) (NetworkPacket->data + 7);
                SpecialStrings[NetworkPacket->data[0]].FontDrawInfo.color = *(unsigned int*) (NetworkPacket->data + 11);
                wcscpy_s(SpecialStrings[NetworkPacket->data[0]].text, (wchar_t*) (NetworkPacket->data + 15));
                if (NetworkPacket->data[0] == 14 & lastPing<150)
                {
                    HANDLE hIcmpFile = IcmpCreateFile();
                    ICMP_ECHO_REPLY Reply;
                    if (hIcmpFile != 0)
                    {
                        if (IcmpSendEcho(hIcmpFile, inet_addr("127.0.0.1"), 0, 0, 0, &Reply, sizeof(ICMP_ECHO_REPLY), 500) != 0)
                            lastPing = Reply.RoundTripTime;
                        IcmpCloseHandle(hIcmpFile);
                    }
                    wsprintf(SpecialStrings[NetworkPacket->data[0]].text, L"%ls%d", (wchar_t*) (NetworkPacket->data + 15), lastPing);
                }
                if (NetworkPacket->data[0] == 141 & lastPing>=150 & lastPing<300)
                {
                    HANDLE hIcmpFile = IcmpCreateFile();
                    ICMP_ECHO_REPLY Reply;
                    if (hIcmpFile != 0)
                    {
                        if (IcmpSendEcho(hIcmpFile, inet_addr("127.0.0.1"), 0, 0, 0, &Reply, sizeof(ICMP_ECHO_REPLY), 500) != 0)
                            lastPing = Reply.RoundTripTime;
                        IcmpCloseHandle(hIcmpFile);
                    }
                    wsprintf(SpecialStrings[NetworkPacket->data[0]].text, L"%ls%d", (wchar_t*) (NetworkPacket->data + 15), lastPing);
                }
                if (NetworkPacket->data[0] == 142 & lastPing>=300)
                {
                    HANDLE hIcmpFile = IcmpCreateFile();
                    ICMP_ECHO_REPLY Reply;
                    if (hIcmpFile != 0)
                    {
                        if (IcmpSendEcho(hIcmpFile, inet_addr("127.0.0.1"), 0, 0, 0, &Reply, sizeof(ICMP_ECHO_REPLY), 500) != 0)
                            lastPing = Reply.RoundTripTime;
                        IcmpCloseHandle(hIcmpFile);
                    }
                    wsprintf(SpecialStrings[NetworkPacket->data[0]].text, L"%ls%d", (wchar_t*) (NetworkPacket->data + 15), lastPing);
                }
                break;
        }
    }

На Windows 8.1 все работает
Где то читал что можно за комментировать код, но это не выход. на 8.1 все ведь работает
 
Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
Он же ничего не ловит. Или тебе циферки сверху нужны в клиенте? )
 
Bot Program Detected #0! и Bot Program Detected #1! По-моему там есть, из-за этого не работал. Но вроде бы поправилось. Я тоже так сидел и решал, но потом нашел в этих строках проблему. Их удалил, зарешилось. Просто ищи по Bot Program и все что связанно с выводом такого уведомления удаляй закомментируй.
 
Bot Program Detected #0! и Bot Program Detected #1! По-моему там есть, из-за этого не работал. Но вроде бы поправилось. Я тоже так сидел и решал, но потом нашел в этих строках проблему. Их удалил, зарешилось. Просто ищи по Bot Program и все что связанно с выводом такого уведомления удаляй закомментируй.
Зачем удалять то, код работает на 7 и 8 винде.
 
тем что в нем ты вырежешь уведомления. до них никак дойти не может что ты не хочешь вырезать, а спрашиваешь как пофиксить)
Удаление уведомлений и условий не приводит ни к чему.
Bot Program Detected #0!
После
Bot Program Detected #2!

А если и это за комментировать. Критует клиент
И
Критует при подключению к серверу.
 
В int __fastcall new_AddNetworkQueue
комментируем:

C++:
if ((*(unsigned int*) (KiUserExceptDispADR + 10) + KiUserExceptDispADR < hNtDllStart) || (*(unsigned int*) (KiUserExceptDispADR + 10) + KiUserExceptDispADR > hNtDllEnd))
        //ErrorExit("Bot Program Detected #0!");

И в void __cdecl new_SendPacket
комментируем:

C++:
if ((*(unsigned int*) (KiUserExceptDispADR + 10) + KiUserExceptDispADR < hNtDllStart) || (*(unsigned int*) (KiUserExceptDispADR + 10) + KiUserExceptDispADR > hNtDllEnd))
        //ErrorExit("Bot Program Detected #2!");

У меня так RGuard на Windows 10 сработал. И главное чтоб другие файлы патча были под Windows 10
 
В int __fastcall new_AddNetworkQueue
комментируем:

C++:
if ((*(unsigned int*) (KiUserExceptDispADR + 10) + KiUserExceptDispADR < hNtDllStart) || (*(unsigned int*) (KiUserExceptDispADR + 10) + KiUserExceptDispADR > hNtDllEnd))
        //ErrorExit("Bot Program Detected #0!");

И в void __cdecl new_SendPacket
комментируем:

C++:
if ((*(unsigned int*) (KiUserExceptDispADR + 10) + KiUserExceptDispADR < hNtDllStart) || (*(unsigned int*) (KiUserExceptDispADR + 10) + KiUserExceptDispADR > hNtDllEnd))
        //ErrorExit("Bot Program Detected #2!");

У меня так RGuard на Windows 10 сработал. И главное чтоб другие файлы патча были под Windows 10
Еще все усложняет что у меня не 10, нкдо виртуалку поставить
 
Кто-то сталкивался?
 
Если у тебя одно и тоже условие проходит на вин 7/8.1 а на 10 нет то дело не в условии. Выводишь логи, запускаешь отладчик и смотришь что должно быть в этих условиях что бы оно прошло, и почему оно не проходит у тебя на 10
 
Если у тебя одно и тоже условие проходит на вин 7/8.1 а на 10 нет то дело не в условии. Выводишь логи, запускаешь отладчик и смотришь что должно быть в этих условиях что бы оно прошло, и почему оно не проходит у тебя на 10
попробую
 
Назад
Сверху Снизу