• Я зарабатываю 100 000 RUB / месяц на этом сайте!

    А знаешь как? Я всего-лишь публикую (создаю темы), а админ мне платит. Трачу деньги на мороженое, робуксы и сервера в Minecraft. А ещё на паль из Китая. 

    Хочешь так же? Пиши и узнавай условия: https://t.me/alex_redact
    Реклама: https://t.me/yougame_official

Как найти STATIC_SILHOUETTS, j_memcpy и j_memset

bluedream.ltd
bluedream.ltd
Статус
Оффлайн
Регистрация
4 Янв 2020
Сообщения
3,063
Реакции
1,288
Обучение для чайников как найти адреса STATIC_SILHOUETTS, j_memcpy и j_memset:
По прошлому гайду открываем наш дамп в IDA.
Открываем вкладку Hex-View и листаем в самый верх.
Нажимаем сочетание клавиш ALT+B, выставляем такие настройки и вставляем:
1623323778289.png

Ищем вот этот паттерн E8 ? ? ? ? EB 3F 0F 57 C0, этот паттерн создал я, он нужен для STATIC_SILHOUETTS
Нажимаем F5 и нас кидает сюда, адрес наших силуэтов я выделил желтым, убираем из начала sub_ и это и будет наш адрес:
image.png

Теперь идем снова в Hex-View и мотаем в самый верх, вставляем паттерн E8 ? ? ? ? 33 C0 48 83 C4 20 5F и жмем F5.
Нас перебросит на j_memset, адрес unk_(тут будет ваш адрес) будет верным.
Делаем тоже самое, по аналогии с j_memset
Теперь наш паттерн E8 ? ? ? ? 48 8D 4F 20 41 8B D4 , это паттерн для j_memcpy.
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
А если патерн поменяется? :roflanEbalo:
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Гайды по реверсу конечно хорошо. Но давай какие нибудь гайды по добавлению функций в Хак =)
 
а как фиксить чит на варфйс памаги в дискорди пажалсута
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
C++:
Expand Collapse Copy
void*  _memcpy(void* to, const void* from, size_t n)
{
    const char* f_pointer = (const char*)from;
    char* t_pointer = (char*)to;
    for (size_t i = 0; i < n; ++i) * (t_pointer++) = *(f_pointer++);
    return to;
}

void* _memset(void* _Dst, int _Val, UINT _Size)
{
    BYTE* buf = (BYTE*)_Dst;
    while (_Size--)* buf++ = (BYTE)_Val;
    return _Dst;
}
Благодарить не нужно.
 
C++:
Expand Collapse Copy
void*  _memcpy(void* to, const void* from, size_t n)
{
    const char* f_pointer = (const char*)from;
    char* t_pointer = (char*)to;
    for (size_t i = 0; i < n; ++i) * (t_pointer++) = *(f_pointer++);
    return to;
}

void* _memset(void* _Dst, int _Val, UINT _Size)
{
    BYTE* buf = (BYTE*)_Dst;
    while (_Size--)* buf++ = (BYTE)_Val;
    return _Dst;
}
Благодарить не нужно.
Поясни пожалуйста
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Блять, а можно для тупых, как паттерн создать?
@xLamantine заранее благодарю
 
Последнее редактирование:
Поясни пожалуйста
зачем вызывать эти функции и тем более искать на них оффсеты, если они ребилдятся за 20 секунд….
а про существование __movsb и __stosb наверно слышим впервые……
 
зачем вызывать эти функции и тем более искать на них оффсеты, если они ребилдятся за 20 секунд….
а про существование __movsb и __stosb наверно слышим впервые……
слышим впервые, расскажи, не пустословь, хоть умнее будем
 
слышим впервые, расскажи, не пустословь, хоть умнее будем
ну слушай, __movsb генерирует инструкцию rep movsb и принимает 3 аргумента, прямо как memcpy, и, кто бы мог подумать, делает то же самое, даже слегка быстрее
с __stosb и memset аналогично…

так что смысла в ваших j_memcpy и j_memset нет…
 
все равно не могу найти memset memcpy значения
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Для чего паттерны, если они слетают раз через раз, есть же тоже довольно просто, HUDSilhouettes_Type ->xref 2 sub
 
Назад
Сверху Снизу