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

[olly dbg] вопрос по сигнатурам


IzerodayI

Рекомендуемые сообщения

при использовании sigmaker происходит такое https://cloud.mail.ru/public/N6R2/X994jae15

кто нибудь знает почему у меня в нижнем окне пусто ? это нормально ? как это исправить ?

Ссылка на комментарий
Поделиться на другие сайты

9 минут назад, IzerodayI сказал:

кто нибудь знает почему у меня в нижнем окне пусто ?

мб потому что он ничего не нашел?

9 минут назад, IzerodayI сказал:

как это исправить ?

сделать нормальную сигнатуру?

Ссылка на комментарий
Поделиться на другие сайты

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

Пытался сделать сигнатуру по такому адресу 244035C0(структура всех игроков), но вовремя "пришел в себя"- решил проверить в reclass и увидел , что у игрока (допустим) hp хранилось по адресу 1CBED24 и вот на него и делал сканер сигнатур , все показал :

Скрытый текст

\x16\x00\x00\x00\x00\xFF\xD5\x44
xxxxxxxx

Но возник вопрос , маска без вопросов это же хорошо , да?

 

PS объяснил для тех , кто вдруг столкнется с таким вопросом 

Изменено пользователем IzerodayI
  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

3 часа назад, uhx сказал:

O_о

как в olly dbg найти в модуле client такой адрес 24000000 + 4035C0 =244035C0

если обращаться в модуле client  на go to то поиск отправляет в какой-то main thread и потому если делать сигнатуру , то он ее не находит в модуле client,  как правильно найти то смещение в  olly dbg ?

Ссылка на комментарий
Поделиться на другие сайты

38 минут назад, IzerodayI сказал:

как в olly dbg найти в модуле client такой адрес 24000000 + 4035C0 =244035C0

если обращаться в модуле client  на go to то поиск отправляет в какой-то main thread и потому если делать сигнатуру , то он ее не находит в модуле client,  как правильно найти то смещение в  olly dbg ?

Что ты ищешь, где ты ищешь, скрины какие нибудь прикрепи еще. Мало информации 

Ссылка на комментарий
Поделиться на другие сайты

45 минут назад, IzerodayI сказал:

24000000 + 4035C0 =244035C0

Я вбил этот адрес через CTRL + G. Выходит на client.dll (в контре). Не важно из какой модуля ты ищешь

Ссылка на комментарий
Поделиться на другие сайты

28 минут назад, Dejavu сказал:

Я вбил этот адрес через CTRL + G. Выходит на client.dll (в контре). Не важно из какой модуля ты ищешь

у меня тоже находит , но когда на него делаю сигнатуру получается снизу пусто : https://cloud.mail.ru/public/Ckd6/ByvScaqEn

еще меня смущает , что кроме модуля client написано thread

Ссылка на комментарий
Поделиться на другие сайты

а если просто зайти в модуль client и спуститься вниз (колесиком мыши) и сделать сигнатуру , то все хорошо , olly dbg все показывает , и проект cpp показывает тоже самое.

Проблема почему-то в этом смещении 244035C0, возможно его найти надо как то по другому...  

Ссылка на комментарий
Поделиться на другие сайты

не смущает, что у тебя base address + scan size меньше адреса начала сигнатуры?

5 часов назад, IzerodayI сказал:

у меня тоже находит , но когда на него делаю сигнатуру получается снизу пусто : https://cloud.mail.ru/public/Ckd6/ByvScaqEn

еще меня смущает , что кроме модуля client написано thread

Если клиент приостановлен, то показывает ид потока на котором брякнулся

Ссылка на комментарий
Поделиться на другие сайты

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 (показывает другой размер модуля)

Ссылка на комментарий
Поделиться на другие сайты

возможно ошибка в коде , всегда при такой маске и сигнатуре показывает 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 то программа уже не определяет

Изменено пользователем IzerodayI
Ссылка на комментарий
Поделиться на другие сайты

После длительных экспериментов , мне кажется проблема в   olly dbg(нет , в руках:mellow:), olly dbg определяет не правильный размер scan size , а если его вручную до максимально возможного увеличить (весь размер 479000), он находит сигнатуру , делает маску, но код  выше все равно её не видит ,код работает только до 0х2f1000 (то есть как определяет размер olly dbg) https://cloud.mail.ru/public/Ckd6/ByvScaqEn ......

Ссылка на комментарий
Поделиться на другие сайты

После вторых длительных экспериментов я все таки получил заветный адрес:D... 

в чем проблема была :

Оказывается ,я не знаю почему , но на адрес  244035C0 программа не хотела находить адрес по сигнатуре и маске 

так же адрес выше 244035bf , но программа нашла адрес 244035C5 и пришлось воспользоваться "костылем" отнять от не го 0х5 ....

https://cloud.mail.ru/public/3a86/nmCHa137s

в общем радует , что  все заработало:lol: 

Ссылка на комментарий
Поделиться на другие сайты

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

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

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