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

Antifreez

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

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

  • Посещение

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

  1. Вообщем,походу все мои проблемы из за SmartGuarda так как попробовал его выгрузить и сразу же в СЕ поставить MBP всё сработало,теперь буду разбираться как SG покалечить чтобы при этом игру не вышибало..

    и может кто подскажет когда в CE при поиске "find out what writes to this address" сразу вылетает такая инструкция

    15054913.jpg

    первый раз с таким сталкиваюсь,и не понятно что искать дальше? (или в таком случае надо искать где EAX заполнился?)  

  2. Попробовал с помощью 

    1 час назад, LIRW сказал:

    Чпок!  И плагин Чпок!

    результат тот же что и в OllyDbg 

    15029252m.jpg

     

    ладно пойду пока на обед по думаю,вдруг что в голову взбредёт:mellow:

  3. Ну как пишут на зарубежных форумах, все игровые функции в L2 лежать в Engine.dll вот от неё и буду плясать. + 

    Цитата

    Например, от структуры игрока и функций, которые с ней работают.

    и от списка с GameObjects

  4. В линейке по моему везде такая тема. Я просто менял в CE отладчик на VEH debugger и все норм. Его в принципе хватает, в связке с IDA Pro.

    Откуда у людей мания запускать процесс под отладкой - не понимаю) Что ты будешь через отладчик в игре делать? Патчить тебе ее точно не надо, так что еще?

    СЕ на данный момент не вариант так как при попытке поставить MBP процесс игры сразу вылетает,скрин с ошибкой в первом посте,CE пробовал в разных режимах и даже в DBVM (kernalmode) результат тот же самый. отладчик мне нужен ,для обнаружения функций которая дёргает не посредственно сам клиент (хочу ради спортивного интереса написать радар который использует исключительно методы игры (через пакеты и поиск оффсетов не интересно) , я понимаю что можно взять какой нибудь дрявый сервер и издеваться над ним но тогда весь интерес пропадёт.. а тут сервак ещё и с защитой SmartGuard ,а это прибавляет ещё желание попробовать разобраться как он работает,пол года назад специально для АА писал радар и мучился с обходом GameGuard хоть и коряво но всё получилось,правда было потрачено очень много времени,ввиду того что скилл С++ и Asm не велик а на C# подобное реализовать очень и очень геморно

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

     

    https://en.wikipedia.org/wiki/General_protection_fault - статья что такое GPF (вдруг кому интересно будет)

  6. Всем привет,хочу написать радар для L2 interlude защита на сервере SmartGuard но как я понял GPF(general protection fault) к смарту отношения не имеет ,использую OllyDbg 1.10 палгины (StongOd,Phantom) ,проблема следующая при попытке поставить MBR (memory breakpoint) сразу вылетает GPF и приложение падает,подскажите как справиться с этой бедой? под ring0 зайти не смогу.

    рассуждения: вероятно GPF палит (EXCEPTION_DEBUG_EVENT & EXCEPTION_GUARD_PAGE) и при смени прав сразу вышибает клиент,как найти обработку этих событий пока не придумал... 

     

    ошибка выглядит так:

    14992917.jpg

     

    если через СE попробовать поставить MBR то сразу вылетает без GPF

     

    15000087.jpg

  7. Спасибо всем за ответы,с вызовами разобрался,оставляю тестовый проект вдруг кому понадобится,теперь появился вопрос как обойти GPF (general protection fault) при попытки поставить MBP сразу вылетает GPF и приложение падает... как я понял этот вопрос нужно оформить в новый пост правда не понятно в какой раздел в "OllyDbg" или "Вопросы по взлому MMO"? 

     

  8. Спасибо за ответ,pipe нужен будет для снятия внутри игровых хуков.. попробовал написать тестовую программку и сделать как вы написали,оно почти работает.. функция вызывается и на return высыпается с ошибкой мол нету прав на запись оО

     

    вот тестовое приложение

    https://drive.google.com/open?id=0B430T62QsrdXU25BLVNzSlM5UTA

     

    скажите пожалуйста,тут каждое сообщение проходит модерацию? или как то можно без модерации писать?

  9. Всем привет прощу сильно не пинать первый пост на этом форуме

    ближе к теме,появилось желания написать бота используя чисто игровые функции (раньше писал ботов путём поиска оффсетов)(мой родной язык C# , в асме и с++ особо не силён но потихоньку осваиваю)  ,

    собственно сам вопрос нашел в dll игровую функцию public: virtual struct User * __thiscall UHandler::GetNextTarget(float,int) допустим это её постоянный адрес 0x005b0be5, примерно так выглядит структура User

    Скрытый текст
    
    struct User
    {
    int id;
    unsigned short name;
    int race;
    int hp_max
    int hp;
    int mp_max;
    int mp;
    };
    

     

     как правильно мне вызвать данный метод (public: virtual struct User * __thiscall UHandler::GetNextTarget(float,int)) используя C++ или CE ?

     

    то что я сделал

    создал dll для иньекции потом создаю поток

    if (dwReason == DLL_PROCESS_ATTACH)
    	{
    	     CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)TestPipe, NULL, NULL, NULL);
        }

    в потоке поднимаю pipe

     

    Скрытый текст
    
    BOOL WINAPI TestPipe()
    {
    
    	ofstream fout("D:\\LOG\\pipe.txt", ios_base::app); // создаём объект класса ofstream для записи и связываем его с файлом cppstudio.txt
    
    	fout << "\n" << "Запуск потока TestPipe"; // запись строки в файл
    	fout.close();
    
    	HANDLE hPipe;
    
    	char szClientUpdate[22];
    
    	BOOL   fSuccess = FALSE;
    	DWORD  cbRead, cbToWrite, cbWritten, dwMode;
    	LPTSTR lpszPipename = TEXT("\\\\.\\pipe\\drwebPipe");
    
    	do
    	{
    		hPipe = CreateFile(
    			lpszPipename,    
    			GENERIC_READ |  
    			GENERIC_WRITE,
    			0,              
    			NULL,           
    			OPEN_EXISTING,   
    			0,               
    			NULL);          
    
    		if (hPipe != INVALID_HANDLE_VALUE)
    		{
    			ofstream fout("D:\\LOG\\pipe.txt", ios_base::app); 
    
    			fout << "\n" << "Соеденился с pipe"; 
    			fout.close();
    		}
    
    		Sleep(1000);
    
    	} while (hPipe == INVALID_HANDLE_VALUE);
    
    
    
    	do
    	{
    		 
    
    		fSuccess = ReadFile(
    			hPipe,     
    			szClientUpdate,     
    			strlen(szClientUpdate),   
    			&cbRead,   
    			NULL);    
    
    		if (!fSuccess && GetLastError() != ERROR_MORE_DATA)
    		{
    			ofstream fout("D:\\LOG\\pipe.txt", ios_base::app);
    
    			fout << "\n" << "Ошибка в pipe"; 
    			fout.close();
    			break;
    		}
    
    
    
    		string hexstr;
    
    		int i;
    		for (i = 0; i<cbRead; i++) {
    			if (szClientUpdate[i] == 0)
    			{
    				continue;
    			}
    			hexstr += szClientUpdate[i];
    		}
    
    		if (hexstr == "start")
    		{
    			// СОБСТВЕННО ТУТ МНЕ НУЖЕН ВЫЗОВ ФУНКЦИИ
                //public: virtual struct User * __thiscall UHandler::GetNextTarget(float,int)
    		}
    
    
    		ofstream fout("D:\\LOGAA\\pipe.txt", ios_base::app); 
    
    		fout << "\n" << "Пришло сообщение =" << hexstr; 
    		fout.close();
    
    	
    
    	} while (fSuccess);  // repeat loop if ERROR_MORE_DATA 
    
    	ofstream fouts("D:\\LOG\\pipe.txt", ios_base::app); 
    
    	fouts << "\n" << "Поток закрыт!!!"; 
    	fouts.close();
    
    	return TRUE;

     

     

    вот тут

    if (hexstr == "start")
    		{
    			// СОБСТВЕННО ТУТ МНЕ НУЖЕН ВЫЗОВ ФУНКЦИИ
                //public: virtual struct User * __thiscall UHandler::GetNextTarget(float,int)
    		}

    честно гуглил много, но толком не чего не понял

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

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

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