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

doc9009

Пользователи+
  • Постов

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

  • Посещение

  • Победитель дней

    8

Весь контент doc9009

  1. попробовал все равно не работает хоть расшибись.... вроде все правильно, а выпендривается что-то не то... 100% работающие логгеры d3d тоже не работают на всех играх у меня... а инжекторы всей кучей орут, что все нормально приинжектилось
  2. Режим бога: [ENABLE] alloc(newmem,2048) label(returnhere) label(hack_1) label(hack) label(unhack) aobscan(aob_hack_1,f30f58c8f30f118ec0780000f30f108fcc0b0000f30f58c8f30f118fcc0b0000d9442418) registersymbol(hack_1) newmem: cmp dword ptr [esi+10],3E8 je hack jmp unhack hack: jmp returnhere unhack: addss xmm1,xmm0 movss [esi+000078C0],xmm1 jmp returnhere aob_hack_1: hack_1: jmp newmem nop nop nop nop nop nop nop returnhere: [DISABLE] hack_1: addss xmm1,xmm0 movss [esi+000078C0],xmm1 dealloc(newmem) unregistersymbol(hack_1) смещение 10 указывает на id игрока. ID игрока в формате DWORD. Так же ID первого игрока = 3E8; ID второго игрока = 3E9. Таймер раунда вообще статический, днем отредактирую тему и добавлю onehitkill и ноп таймера. Скрипт выложил тут потому как в нужном разделе мне нельзя создавать темы. Вот ссылка на готовую таблицу со скриптом http://rghost.ru/47341576
  3. блин я уже мозг себе сломал... уже свой инжектор написал с привилегиями дебагера все равно нулевой результат... вот сурс dll http://rghost.ru/47338694 вот сурс инжектора http://rghost.ru/47338840 все писал в 2012 студии. инжектор писал в попыхах так, что не судите строго за косяки типа восстановления обычных прав приложения (debug disable)
  4. по ходу не проходит инжект... пробовал втыкать мессэдж бокс, но при инжекте не вылезло мое сообщение... BOOL WINAPI Dllmain(HINSTANCE hinstDll, DWORD fdwReason, LPVOID lpvReserved) { if (fdwReason == DLL_PROCESS_ATTACH) { //CreateThread(NULL, NULL, FarCry_thread, NULL, NULL, NULL); MessageBox(NULL, "test", "ds", MB_OK); return true; } return false; } что мне делать, есть советы? far cry у меня издательства от буки 1.04 версия крякнутая... ну думаю на такой старой игре навряли будет какая-либо защита от ижекта
  5. все равно ноль эмоций... хоть CE и написал, что dll внедрена. странно вообще
  6. делаю инжект dll через инжектор winject, а ноль эмоций... по идее должна выскочить консоль с надписью hello, инжектор не ругается говорит мол все нормально. вот исходник, делал по уроку кодера: #include <Windows.h> #include <fcntl.h> #include <stdio.h> #include <io.h> DWORD WINAPI FarCry_thread(LPVOID); BOOL WINAPI Dllmain(HINSTANCE hinstDll, DWORD fdwReason, LPVOID lpvReserved) { if (fdwReason == DLL_PROCESS_ATTACH) { CreateThread(NULL, NULL, FarCry_thread, NULL, NULL, NULL); return true; } return false; } void CreateConsole() { int hConHandle = 0; HANDLE lStdHandle = 0; FILE *fp = 0; AllocConsole(); lStdHandle = GetStdHandle(STD_OUTPUT_HANDLE); hConHandle = _open_osfhandle(PtrToUlong(lStdHandle), _O_TEXT); fp = _fdopen(hConHandle, "w"); *stdout = *fp; setvbuf(stdout, NULL, _IONBF, 0); } DWORD WINAPI FarCry_thread(LPVOID) { CreateConsole(); printf("HELLO!"); Sleep(10000); FreeConsole(); FreeLibraryAndExitThread(GetModuleHandle("farcry_inject.dll"), 0); }
  7. мне использование AOBscan-a тоже больше по душе, но уж очень долго бывает он ищет адрес по сигнатуре. Ладно буду думать и курить форумы о том как можно быстрее сканировать память.
  8. таким образом в процессе отсеивания остаются 3 оффсета, которые успешно не работают на другом pc... статический адрес у меня есть(нашел его). от него желательно бы найти цепочку оффсетов к деньгам, зачем она мне нужна? чтобы можно было быстро записать данные из программы на с++. Поиск сигнатур не хочу делать так как это отнимает время секунд 30 до того как найдется нужный адрес. искать путь к статичесскому адресу решил от ячейки с деньгами, потому как по определению вроде у каждого адреса есть последовательность смещений, которая приводит к статическому адресу. пробовал искать наоборот от статического к динамическому с деньгами, но там уйма мусора на бряке появляется, как собственно я и предполагал.
  9. спасибо, я как раз уроки кодера смотрю, но до этого урока пока не дошел, поэтому поднял на мой взгляд теперь глупую тему
  10. http://forum.gamehacklab.ru/topic/1940-%D1%83%D1%80%D0%BE%D0%BA-6-%D1%80%D0%B5%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%BC-worms-3d/ посмотри тут кодер реверсил игру и проведи аналогии я таким образом без проблем нашел ид игрока и союзников в игре mass effect
  11. Пытаюсь найти цепочку оффсетов для адреса, в котором содержатся кредиты, вот алгоритм моего поиска: 1) нашел адрес со значением кредитов и поставил бряк на запись Если наш адрес = 27C7BD60, то получается следующий адрес нам надо искать со значением 27C7BD00 = (27C7BD60 -60) 2) нашлось несколько адресов я взял тот, что ближе находится к тому, что я искал и поставил бряк на доступ получил (269D58EC - 3EC)=269D5500 3) ищу адрес со значением 269D5500 находится целая куча адресов, я опять же выбираю те, что ближе всего находятся... Беру первый, что ближе ставлю бряк получаю это далее если вбиваю адрес, то ничего не находит, думаю ну ок беру следующий, что ближе и ставлю бряк вижу смещение 28 получаю (24A4DC28 - 28)=24A4DC00 4)вбиваю в поиск 24A4DC00 нахожу адреса и ставлю бряки и тут впадаю в ступор, что дальше?
  12. проблема кроется я думаю потому что в этой функции с нужного процесса ничего не считывается DWORD FindPattern(DWORD dwAddress,DWORD dwLen,BYTE *bMask,char * szMask) { for(DWORD i=0; i<dwLen; i++) if (bCompare((BYTE*)(dwAddress+i),bMask,szMask)) return (DWORD)(dwAddress+i); return 0; } не долго думав мне пришло в голову, что по идее можно использовать readprocessmemory, но тут же я поймал ступор, как пользуясь этой функцией можно прочитать всю последовательность байт по нужному адресу, а не только значение, которое там лежит?
  13. возникает ошибка нарушение прав доступа на моменте поиска по сигнатуре, уже весь мозг себе поломал, вот мой код: void Button1Click(HWND hWnd) { HWND hWndGame = NULL; DWORD pid = 0; HANDLE hModuleSnap = INVALID_HANDLE_VALUE; MODULEENTRY32 me32; DWORD BA = NULL; hWndGame = FindWindow(NULL, TEXT("Mass Effect")); GetWindowThreadProcessId(hWndGame,&pid); // запоминаем номер в переменную pid hModuleSnap = CreateToolhelp32Snapshot( TH32CS_SNAPMODULE, pid ); me32.dwSize = sizeof( MODULEENTRY32 ); Module32First(hModuleSnap, &me32); BA = (DWORD)me32.modBaseAddr; //80 93 73 00 06 00 00 00 00 00 E0 40 00 00 C8 42 DWORD address1 = FindPattern(BA, 0xFFFFFFFF, (PBYTE)"\x80\x93\x73\x00\x06\x00\x00\x00\x00\x00\xE0\x40\x00\x00\xC8\x42", "????xxxxxxxxxxxx"); } bool bCompare(const BYTE* pData, const BYTE* bMask, const char* szMask) { for(;*szMask;++szMask,++pData,++bMask) if(*szMask=='x' && *pData!=*bMask) return 0; return (*szMask) == NULL; } DWORD FindPattern(DWORD dwAddress,DWORD dwLen,BYTE *bMask,char * szMask) { for(DWORD i=0; i<dwLen; i++) if (bCompare((BYTE*)(dwAddress+i),bMask,szMask)) return (DWORD)(dwAddress+i); return 0; } AOBscan-ом пытаюсь отыскать адрес денег по составленной сигнатуре, есть подозрение, что я не правильно составил сигнатуру, сейчас опишу как я её составлял: 1) в CE нашел адрес с деньгами 2) нажал просмотреть этот регион памяти 3) там был код вида (80 93 73 00 06 00 00 00 00 00 E0 40 00 00 C8 42), сделал эксперимент с деньгами меняя их значение и этим я выяснил, что первый байт отвечает за кол-во денег(80 93 73 00), остальные 3 байта вроде статичны 4) составил сигнатуру и маску: (80 93 73 00 06 00 00 00 00 00 E0 40 00 00 C8 42); (????xxxxxxxxxxxx) все понял код для инжекта dll же... может кто подсказать как то же самое осуществить без инжекта? и я буду очень благодарен тому кто объяснит мне работу сканера сигнатур(его подробный алгоритм)
  14. Вроде все правильно, вот листинг модулей процесса из ольки
  15. мне нужно получить адрес модуля, но функция почему-то не видит данный модуль в чем проблема? вот код который я использую: void Button1Click(HWND hWnd) { DWORD Radar = (DWORD)GetModuleHandleA("MassEffect.exe"); DWORD error = GetLastError(); } после выполнения GetModuleHandle возвращается ошибка 126... Есть подозрение, что нельзя таким образом узнать адрес MassEffect.exe. были мысли получить его открытием процесса функцией openprocess, которая возвращает HANDLE процесса, но как из хэнда получить адрес процесса?
  16. просмотрел работу плагина, меня впечатлило даже очень) на счет aobscan как я понял ему всегда надо просто передавать последовательность байт нескольких соседних инструкций?
  17. я уже весь форум облазил за весь день, так и не нашел тутор по aobscan только проблемы связанные с ним видел.... P.S.: Но есть и положительные стороны моих неудачных поисков, а именно я наткнулся на уроки кодера, очень интересно рассказывает все) P.p.s: Можно подсказку в каком разделе форума лежит тутор по aobscan?
  18. привет всем, у меня вопрос вот вы привели пример скрипта с aobscan в целом все понятно, но возникает вопрос откуда и каким образом вы брали набор байт внутри функции aobscan? aobscan(aob_god_1,"D8 AB 04 01 00 00 D9 9B 04 01 00 00 8B 95 F0 F8 FF FF B9") в тему с видео по использованию aobscan в mafia 2 не посылайте там ссылка мертвая на видео.
×
×
  • Создать...

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

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