Перейти к содержанию

Undert4ker

Стажёры
  • Постов

    9
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные Undert4ker

  1. 2 минуты назад, Xipho сказал:

    1. Найти функцию, которая делает проверку

    2. Найти начальный адрес этой функции

    3. Перебрать все потоки игры, проверяя стартовый адрес каждого потока. 

    4. Если адрес совпадает с нужным - заморозить/убить поток.

    Спасибо за наводку, буду пробовать

  2. В 17.08.2020 в 22:06, Hack сказал:
      Скрыть контент
    
    
    int main()
    {
    	DWORD thread_id = 0x123;
    
    	HANDLE hThread = OpenThread(THREAD_SUSPEND_RESUME, FALSE, thread_id);
    
    	if (hThread == NULL) {
    		printf("Error OpenThread %08lX\n", GetLastError());
    		return -1;
    	}
    
    
    	SuspendThread(hThread); //Приостановить
    
    	system("pause");
    
    	ResumeThread(hThread); //Возобновить
    
    
    	CloseHandle(hThread);
    
    	return 0;
    }
    

     

     

    Лучше заблокировать создание потока или вызов скана. В CE есть возможность приостанавливать поток.

    За код спасибо конечно, но это мало информативно, так как суть вопроса это как раз таки перехват этого потока, т.е. как его поймать, я понятия не имею, порыв гугл, ответов полезных находил крайней мало, так что очень хотел бы узнать каким образом его можно перехватить для дальнейшей работы с ним

  3. Имеется игра по локальной сети, в ней каждые 1 сек выполняется поток в котором идет скан памяти (если сказал бред, не судите строго :)) и нужно этот скан памяти как то отключить без десинхронизации клиента, т.е. меня. Пришел к сути вопроса, так как подумал что это наиболее логичный вариант, но с этим никогда не работал, нужно перехватить поток, и либо заморозить его, либо отключить, как это можно осуществить средствами с++?

  4. 5 часов назад, KRYPTOPUNK сказал:

    Ну так ты этого не сделаешь без хука самой функции все равно, намного проще сделать как я сказал, передавать в функцию аргументы нужные тебе, если и правда так античит работает.

    Антихак находиться во временном пространстве памяти каждый раз при его инициализации, его функции обращаются по ссылкам в память на спец. функции движка, которые в свою очередь делают запись в последующие указанные адреса в антихаке, следовательно, имею лишь 1 адрес, который точно вызывается антихаком, но так же он вызывается для большого кол-ва других операций, значит занопить не выйдет. А как перехватить в этой функции нужный вызов из временного пространства и подменить значение - я не совсем понимаю, был бы признателен за пример

  5. 17 часов назад, KRYPTOPUNK сказал:

    Ну так занопь функцию, я не знаю, или перехвати её со своими аргументами

    Если бы все было так просто, я бы не задавал вопрос)
    Самый разумный вариант - как то перенаправить чтение из нужных адресов этой самой функции античита на что то другое, или подменить значение читаемого адреса на первоначальный паралельно с его изменением на нужное мне значение, сложновато на деле(

  6. 20 минут назад, Kvazimado сказал:

    Стопудово можно. Но среди нас нет телепатов, поэтому как это сделать без описания действий и игры, скорее всего не получится рассказать.

    На старте игры запускается цикл, вызывается функция, в которую помещается адрес и его значение, таких адресов там примерно 150 штук, каждый занесенный адрес отвечает за определенную функцию в игре, например выстрел\очки навыков\видимость на карте и так далее на все возможные адреса в игре, по которым можно сварганить чит. Цикл работает всю игру, и если изменить значение одного из адресов, тогда уже в функции вызываемой в цикле со значением адреса сработает проверка, Текущий адрес != переданному в функцию ранее, и блокировка игры. Мне нужно как то обойти эту проверку значения, но все что пытался - не помогло( 
    Как то так этот античит выглядит:
    ...
    цикл...
    AddAddressToBaseData(0x1FAB65F4, 3454512)
    ...
    void AddAddressToBaseData(int address, int value){  //Читается текущая память процесса игры и сравниваются  тек.значение и переданное в функцию  }
    ...

  7. Здравствуйте, написал некий чит для игры, но он детектится местным античитом, который работает по такому принципу:
    В БД заносится адрес и его значение при старте игры, а затем по циклу с задержкой проверяется указанный адрес и его значение, и если текущее значение адреса не соответствует значению с БД, то просто блок игры.
    Так вот, после предыстории, хочу спросить, можно ли как нибудь это обойти?

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.