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

Спуфер для бота!

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

  1. PaintKiller Ньюфаг

    Сообщения:
    14
    Спасибы:
    0
    Можно ли сделать так, чтоб в пабе ник бота был не тот который зарегили, а тот который захочу ЙА?) ну типо под спуфером его как то запустить?) если такая тема была уже, дайте ссылку плз...не нашел
  2. Guard Старожила

    Сообщения:
    473
    Спасибы:
    47
    Сборка бота GHost:
    Ghost++ RAKAL Edition
    Дата начала использования бота:
    00.00.2009
    Skype:
    Мой статус

    Это... Это наверно самый тупой вопрос который я видел :facepalm:
    Такое наверно еще не задавали!
    гЦ!

    А по сабжу -

    # виртуальное имя бота
    bot_virtualhostname =


    Такая строка находится в фаиле Ghost.cfg , открывать в блокноте. Либо в GUI оболочке, вкладка опции.
  3. PaintKiller Ньюфаг

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

    мне надо сменить ник не в игре, а в пабе...в СПИСКАХ игр

    если такого еще нет - ок... но твоя реакция на вопрос как у агрошкольника
  4. JiLiZART Администрация

    Сообщения:
    815
    Спасибы:
    35
    Сборка бота GHost:
    Ghost++ 17.1
    Дата начала использования бота:
    12.12.04
    Такое возможно если создать на сервере никнейм с кодом цвета, по умолчанию это запрещено.. Чтобы в создателях игры отображался цветной ник или тот который ты захочешь. А так спуфить ник вряд ли получится.
    ЗЫ
    На будущее, учись правильно ставить вопрос, чтобы и другие смогли его понять.
  5. Mr_LiSa Старожила

    Сообщения:
    421
    Спасибы:
    3
    Сборка бота GHost:
    Ghost One 1.7.266
    Skype:
    Мой статус
    джил сор, но он норм задал вопрос
    просто Guard не знал что такое спуфер до ботов ...
    ^^
  6. Guard Старожила

    Сообщения:
    473
    Спасибы:
    47
    Сборка бота GHost:
    Ghost++ RAKAL Edition
    Дата начала использования бота:
    00.00.2009
    Skype:
    Мой статус
    Каюсь, не понял вопроса...
    Какая бы была твоя реакция на вопрос где изменить ник для бота?..


    А де такое было?
  7. VladGod2 Парнишка с небывалым умом

    Сообщения:
    228
    Спасибы:
    4
    Сборка бота GHost:
    Ghost One 1.7.266
    Дата начала использования бота:
    01.01.00
    Skype:
    Мой статус
    :facepalm:
  8. VladGod2 Парнишка с небывалым умом

    Сообщения:
    228
    Спасибы:
    4
    Сборка бота GHost:
    Ghost One 1.7.266
    Дата начала использования бота:
    01.01.00
    Skype:
    Мой статус
    Хотя было бы не плохо такое замутить... -_- -_- -_-
  9. fake Старожила

    Сообщения:
    1.624
    Спасибы:
    19
    Дата начала использования бота:
    11.11.11
    Я расшарю фишку через 1-2 недели.
  10. PaintKiller Ньюфаг

    Сообщения:
    14
    Спасибы:
    0
    ну что, Фейк, есть прогресс?
  11. QuIcK-KoT Ньюфаг

    Сообщения:
    24
    Спасибы:
    0
    Присоединяюсь, тоже интересует этот вопрос ^^
  12. PaintKiller Ньюфаг

    Сообщения:
    14
    Спасибы:
    0
    Ладно, фэйк отморозился и забил...Кто шарит в боте и с++? нашел спуфер на с++, кто нить сможет его в бота запилить?
    Код:
    #include <iostream>
    #include <windows.h>
    #include <Tlhelp32.h>
    
    using namespace std;
    
    DWORD GetModuleBase(PWSTR lpModuleName, DWORD dwProcessId)
    {
    	MODULEENTRY32 lpModuleEntry = {0};
    
    	HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, dwProcessId);
    	if (!hSnapshot) {
    		cout << "CreateToolhelp32Snapshot: " << GetLastError() << endl;
    		system("pause");
    		return GetLastError();
    	}
    	
    	lpModuleEntry.dwSize = sizeof(lpModuleEntry);
    	BOOL bModule = Module32First(hSnapshot, &lpModuleEntry);
    
    	while (bModule) {
    		if (!wcscmp(lpModuleEntry.szModule, lpModuleName)) {
    			CloseHandle(hSnapshot);
    			return (DWORD)lpModuleEntry.modBaseAddr;
    		}
    		bModule = Module32Next(hSnapshot, &lpModuleEntry);
    	}
    
    	CloseHandle(hSnapshot);
    	return 0;
    }
    
    int EnableDebugPrivileges()
    {
    	HANDLE hToken;
    	LUID lpLuid;
    	TOKEN_PRIVILEGES tp;
    	HANDLE hProcess = GetCurrentProcess();
    	
    	if (!hProcess) {
    		cout << "OpenProcess error: " << GetLastError() << endl;
    		system("pause");
    		return GetLastError();
    	}
    
    	OpenProcessToken(hProcess, TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken);
    	if (!hToken) {
    		CloseHandle(hProcess);
    		cout << "OpenProcessToken error: " << GetLastError() << endl;
    		system("pause");
    		return GetLastError();
    	}
    	
    	CloseHandle(hProcess);
    
    	if (!LookupPrivilegeValue(0, SE_DEBUG_NAME, &lpLuid)) {
    		CloseHandle(hToken);
    		cout << "LookupPrivilegeValue error: " << GetLastError() << endl;
    		system("pause");
    		return GetLastError();
    	}
    	
    	tp.PrivilegeCount = 1;
    	tp.Privileges[0].Luid = lpLuid;
    	tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
    	
    	if (!AdjustTokenPrivileges(hToken, FALSE, &tp, sizeof(tp), 0, 0)) {
    		CloseHandle(hToken);
    		cout << "AdjustTokenPrivileges error: " << GetLastError() << endl;
    		system("pause");
    		return GetLastError();
    	}
    
    	CloseHandle(hToken);
    	return 0;
    }
    
    int main()
    {
    	EnableDebugPrivileges();
    	
    	HWND hWnd = FindWindow(L"Warcraft III", 0);
    	if (!hWnd) {
    		cout << "FindWindow error: " << GetLastError() << endl;
    		system("pause");
    		return GetLastError();
    	}
    	
    	DWORD dwProcessId;
    	GetWindowThreadProcessId(hWnd, &dwProcessId);
    	if (!dwProcessId) {
    		cout << "GetWindowThreadProcessId error: " << GetLastError() << endl;
    		system("pause");
    		return GetLastError();
    	}
    	
    	HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, false, dwProcessId);
    	if (!hProcess) {
    		cout << "OpenProcess error: " << GetLastError() << endl;
    		system("pause");
    		return GetLastError();
    	}
    	
    	DWORD dwOffset = GetModuleBase(L"Game.dll", dwProcessId) + 0xACCE80;
    	DWORD dwValue = 0;
    
    	ReadProcessMemory(hProcess, (LPCVOID)dwOffset, &dwValue, 4, 0);
    		
    	if (!dwValue) {
    		CloseHandle(hProcess);
    		cout << "Please connect to Battle.net and try again." << endl;
    		system("pause");
    		return GetLastError();
    	}
    	else {
    		dwOffset = dwValue + 0x21C;
    		char cName[0xF];
    
    		cout << "Your current username is: ";
    		for (int i = 0; i <= 0xE; i++) {
    			ReadProcessMemory(hProcess, (LPCVOID)(dwOffset + i), &cName[i], 1, 0);
    			cout << cName[i];
    		}
    		cout << endl;
    	}
    
    	cout << "Enter new username: ";
    	char cNewName[0x10];
    	memset(cNewName, 0, 0x10);
    	cin.getline(cNewName, 0x10);
    
    	cout << "Your new username is: ";
    	WriteProcessMemory(hProcess, (LPVOID)dwOffset, cNewName, 0xE, 0);
    	cout << cNewName << endl;
    
    	CloseHandle(hProcess);
    	system("pause");
    	return 0;
    }
    вроде не рабочий...но написано что когда то работало....может поможет
  13. fake Старожила

    Сообщения:
    1.624
    Спасибы:
    19
    Дата начала использования бота:
    11.11.11
    все гораздо проще(
  14. PaintKiller Ньюфаг

    Сообщения:
    14
    Спасибы:
    0
    ну тогда может скажешь?
  15. fake Старожила

    Сообщения:
    1.624
    Спасибы:
    19
    Дата начала использования бота:
    11.11.11
    Код:
    (*i)->QueueGameCreate( m_GameState, m_GameName, string( ), m_Map.get(), NULL, m_HostCounter );
    находиш эту функцию и меняеш третий аргумент на "name bota"
  16. slik Наш человек

    Сообщения:
    81
    Спасибы:
    0
    Кто нибудь проверял? как работает?
  17. barraka Ньюфаг

    Сообщения:
    14
    Спасибы:
    0
    Реализовал, но несколько по-другому, т.к. вариант fake почему-то у меня не заработал.
    По поводу имени, те же ограничения и возможности, что и для виртуального имени в лобби. Не длиннее 15 символов, можно делать цветным.
    На battle.net спуф поддерживается полностью.
    На rubattle.net игра создается, но игроки не подключаются, причину не знаю.
    Другие сервера проверить не могу.

    P.S. Отключил её нафиг, т.к. не знаю, как отнесётся администрация батлы к такой фигне.
  18. Aloha_Hawaii Старожила

    Сообщения:
    314
    Спасибы:
    33
    Сборка бота GHost:
    Ghost One 1.7.266
    нипалучаица
    Код:
    (*i)->QueueGameCreate( m_GameState, m_GameName, "Hawaii_bot", m_Map, NULL, m_HostCounter );
    я, дурак, что то делаю не так?
  19. rost Гуру

    Сообщения:
    1.258
    Спасибы:
    150
    Сборка бота GHost:
    LtG
    Дата начала использования бота:
    01.11.2010
    Skype:
    Мой статус
    Хотите спрятать бота чтобы небанили его или как??? донт понимать :parovozdjan:
  20. fake Старожила

    Сообщения:
    1.624
    Спасибы:
    19
    Дата начала использования бота:
    11.11.11
    алькар выпили, когда юзаешь спуф.

    забыл сказать, что он там пахать не будет -_-