IzerodayI Опубликовано 20 августа, 2017 Поделиться Опубликовано 20 августа, 2017 при использовании sigmaker происходит такое https://cloud.mail.ru/public/N6R2/X994jae15 кто нибудь знает почему у меня в нижнем окне пусто ? это нормально ? как это исправить ? Ссылка на комментарий Поделиться на другие сайты Поделиться
uhx Опубликовано 20 августа, 2017 Поделиться Опубликовано 20 августа, 2017 9 минут назад, IzerodayI сказал: кто нибудь знает почему у меня в нижнем окне пусто ? мб потому что он ничего не нашел? 9 минут назад, IzerodayI сказал: как это исправить ? сделать нормальную сигнатуру? Ссылка на комментарий Поделиться на другие сайты Поделиться
IzerodayI Опубликовано 20 августа, 2017 Автор Поделиться Опубликовано 20 августа, 2017 короче, я просто не так сделал , моя ошибка..... Ссылка на комментарий Поделиться на другие сайты Поделиться
IzerodayI Опубликовано 20 августа, 2017 Автор Поделиться Опубликовано 20 августа, 2017 (изменено) моя ошибка заключалась в том , что я пытался сделать сканер сигнатур на полную структуру игроков , а не на отдельное значение. Пытался сделать сигнатуру по такому адресу 244035C0(структура всех игроков), но вовремя "пришел в себя"- решил проверить в reclass и увидел , что у игрока (допустим) hp хранилось по адресу 1CBED24 и вот на него и делал сканер сигнатур , все показал : Скрытый текст \x16\x00\x00\x00\x00\xFF\xD5\x44 xxxxxxxx Но возник вопрос , маска без вопросов это же хорошо , да? PS объяснил для тех , кто вдруг столкнется с таким вопросом Изменено 20 августа, 2017 пользователем IzerodayI 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
uhx Опубликовано 20 августа, 2017 Поделиться Опубликовано 20 августа, 2017 1 час назад, IzerodayI сказал: сканер сигнатур на полную структуру игроков O_о Ссылка на комментарий Поделиться на другие сайты Поделиться
IzerodayI Опубликовано 20 августа, 2017 Автор Поделиться Опубликовано 20 августа, 2017 3 часа назад, uhx сказал: O_о как в olly dbg найти в модуле client такой адрес 24000000 + 4035C0 =244035C0 если обращаться в модуле client на go to то поиск отправляет в какой-то main thread и потому если делать сигнатуру , то он ее не находит в модуле client, как правильно найти то смещение в olly dbg ? Ссылка на комментарий Поделиться на другие сайты Поделиться
Dejavu Опубликовано 20 августа, 2017 Поделиться Опубликовано 20 августа, 2017 38 минут назад, IzerodayI сказал: как в olly dbg найти в модуле client такой адрес 24000000 + 4035C0 =244035C0 если обращаться в модуле client на go to то поиск отправляет в какой-то main thread и потому если делать сигнатуру , то он ее не находит в модуле client, как правильно найти то смещение в olly dbg ? Что ты ищешь, где ты ищешь, скрины какие нибудь прикрепи еще. Мало информации Ссылка на комментарий Поделиться на другие сайты Поделиться
Dejavu Опубликовано 20 августа, 2017 Поделиться Опубликовано 20 августа, 2017 45 минут назад, IzerodayI сказал: 24000000 + 4035C0 =244035C0 Я вбил этот адрес через CTRL + G. Выходит на client.dll (в контре). Не важно из какой модуля ты ищешь Ссылка на комментарий Поделиться на другие сайты Поделиться
IzerodayI Опубликовано 20 августа, 2017 Автор Поделиться Опубликовано 20 августа, 2017 28 минут назад, Dejavu сказал: Я вбил этот адрес через CTRL + G. Выходит на client.dll (в контре). Не важно из какой модуля ты ищешь у меня тоже находит , но когда на него делаю сигнатуру получается снизу пусто : https://cloud.mail.ru/public/Ckd6/ByvScaqEn еще меня смущает , что кроме модуля client написано thread Ссылка на комментарий Поделиться на другие сайты Поделиться
IzerodayI Опубликовано 20 августа, 2017 Автор Поделиться Опубликовано 20 августа, 2017 а если просто зайти в модуль client и спуститься вниз (колесиком мыши) и сделать сигнатуру , то все хорошо , olly dbg все показывает , и проект cpp показывает тоже самое. Проблема почему-то в этом смещении 244035C0, возможно его найти надо как то по другому... Ссылка на комментарий Поделиться на другие сайты Поделиться
Dino Опубликовано 21 августа, 2017 Поделиться Опубликовано 21 августа, 2017 не смущает, что у тебя base address + scan size меньше адреса начала сигнатуры? 5 часов назад, IzerodayI сказал: у меня тоже находит , но когда на него делаю сигнатуру получается снизу пусто : https://cloud.mail.ru/public/Ckd6/ByvScaqEn еще меня смущает , что кроме модуля client написано thread Если клиент приостановлен, то показывает ид потока на котором брякнулся Ссылка на комментарий Поделиться на другие сайты Поделиться
IzerodayI Опубликовано 21 августа, 2017 Автор Поделиться Опубликовано 21 августа, 2017 7 часов назад, Dino сказал: не смущает, что у тебя base address + scan size меньше адреса начала сигнатуры? 24000000 + 2f1000 =242f1000 это так в olly dbg : https://cloud.mail.ru/public/97CV/Qp3jwHWss , то есть где-то рядом, дальше ничего не написано... если go to 244035C0 и в ручную изменить scan size ( изменил на 0х404040), то он все нашел в olly dbg, но по функции SizeOfImage программа определяет размер в байтах : 4689920 и скрин из СЕ https://cloud.mail.ru/public/KYJE/ZRppcV6sL (показывает другой размер модуля) Ссылка на комментарий Поделиться на другие сайты Поделиться
IzerodayI Опубликовано 21 августа, 2017 Автор Поделиться Опубликовано 21 августа, 2017 (изменено) возможно ошибка в коде , всегда при такой маске и сигнатуре показывает 0 Скрытый текст bool DataCompare(const BYTE* pData, const BYTE* pattern, const char* mask) { for (; *mask; ++mask, ++pData, ++pattern) { if (*mask == 'x' && *pData != *pattern) { return false; } } return (*mask) == NULL; } DWORD FindPattern(DWORD start_addr, DWORD Lenght, BYTE* pattern, char *mask) { for (DWORD i = 0; i < Lenght; i++) { if (DataCompare((BYTE*)(start_addr + i), pattern, mask)) { return (DWORD)(start_addr + i); } return NULL; } } и вызов MODULEINFO moduleinfo = { 0 }; moduleinfo = FindModule("client.dll"); cout << "EntryPoint : \t" << moduleinfo.EntryPoint << "lpBaseOfDll : \t" << moduleinfo.lpBaseOfDll << "SizeOfImage : \t" << moduleinfo.SizeOfImage << endl; client_dll = (DWORD)moduleinfo.lpBaseOfDll; FindEngineModule(); cout << " client_dll : " << client_dll << " moduleinfo.SizeOfImage : " << moduleinfo.SizeOfImage << endl; DWORD pattern_addr = FindPattern((DWORD)moduleinfo.lpBaseOfDll, moduleinfo.SizeOfImage,(PBYTE)"\x88\xEB\xBF\x00\x00\x00\x00\x00\x74\xC9\x35\x24\x10\x36\x40\x24\x01\x00\x00\x00\xF4\xA0\x35\x24\x04\xA1\x35\x00\x00\x00\x00\x40\xC8\x35\x40\x24", "xxx????xxxxxxxxxxxxxxxxxxxx????xxxxx"); cout << "pattern_addr : " << pattern_addr << endl; значения: client_dll : 603979776 EntryPoint : 242bfe46 lpBaseOfDll : 24000000 SizeOfImage : 4689920 pattern-addres = 0 PS этот код определяет то , что не посредственно в client модуле ,но если go to 244035C0 то программа уже не определяет Изменено 21 августа, 2017 пользователем IzerodayI Ссылка на комментарий Поделиться на другие сайты Поделиться
IzerodayI Опубликовано 21 августа, 2017 Автор Поделиться Опубликовано 21 августа, 2017 После длительных экспериментов , мне кажется проблема в olly dbg(нет , в руках), olly dbg определяет не правильный размер scan size , а если его вручную до максимально возможного увеличить (весь размер 479000), он находит сигнатуру , делает маску, но код выше все равно её не видит ,код работает только до 0х2f1000 (то есть как определяет размер olly dbg) https://cloud.mail.ru/public/Ckd6/ByvScaqEn ...... Ссылка на комментарий Поделиться на другие сайты Поделиться
IzerodayI Опубликовано 22 августа, 2017 Автор Поделиться Опубликовано 22 августа, 2017 После вторых длительных экспериментов я все таки получил заветный адрес... в чем проблема была : Оказывается ,я не знаю почему , но на адрес 244035C0 программа не хотела находить адрес по сигнатуре и маске так же адрес выше 244035bf , но программа нашла адрес 244035C5 и пришлось воспользоваться "костылем" отнять от не го 0х5 .... https://cloud.mail.ru/public/3a86/nmCHa137s в общем радует , что все заработало Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения