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

Олдфаг
Статус
Оффлайн
Регистрация
4 Янв 2020
Сообщения
2,995
Реакции[?]
1,275
Поинты[?]
5K
Обучение для чайников как найти адреса STATIC_SILHOUETTS, j_memcpy и j_memset:
По прошлому гайду открываем наш дамп в IDA.
Открываем вкладку Hex-View и листаем в самый верх.
Нажимаем сочетание клавиш ALT+B, выставляем такие настройки и вставляем:
1623323778289.png
Ищем вот этот паттерн E8 ? ? ? ? EB 3F 0F 57 C0, этот паттерн создал я, он нужен для STATIC_SILHOUETTS
Нажимаем F5 и нас кидает сюда, адрес наших силуэтов я выделил желтым, убираем из начала sub_ и это и будет наш адрес:

Теперь идем снова в 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.
 
When every god dead, I can live a normal life...
Забаненный
Статус
Оффлайн
Регистрация
9 Авг 2020
Сообщения
328
Реакции[?]
48
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
А если патерн поменяется? :roflanEbalo:
 
#include <brain>
Забаненный
Статус
Оффлайн
Регистрация
29 Сен 2020
Сообщения
588
Реакции[?]
99
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Гайды по реверсу конечно хорошо. Но давай какие нибудь гайды по добавлению функций в Хак =)
 
Energy Reload
Забаненный
Статус
Оффлайн
Регистрация
20 Авг 2017
Сообщения
1,206
Реакции[?]
330
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
C++:
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;
}
Благодарить не нужно.
 
Олдфаг
Статус
Оффлайн
Регистрация
4 Янв 2020
Сообщения
2,995
Реакции[?]
1,275
Поинты[?]
5K
C++:
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;
}
Благодарить не нужно.
Поясни пожалуйста
 
Просто недопастер :(
Пользователь
Статус
Оффлайн
Регистрация
23 Сен 2020
Сообщения
178
Реакции[?]
36
Поинты[?]
0
Блять, а можно для тупых, как паттерн создать?
@xLamantine заранее благодарю
 
Последнее редактирование:
Олдфаг
Статус
Оффлайн
Регистрация
4 Янв 2020
Сообщения
2,995
Реакции[?]
1,275
Поинты[?]
5K
Модератор форума
Модератор
Статус
Оффлайн
Регистрация
19 Май 2018
Сообщения
954
Реакции[?]
1,067
Поинты[?]
20K
Поясни пожалуйста
зачем вызывать эти функции и тем более искать на них оффсеты, если они ребилдятся за 20 секунд….
а про существование __movsb и __stosb наверно слышим впервые……
 
Олдфаг
Статус
Оффлайн
Регистрация
4 Янв 2020
Сообщения
2,995
Реакции[?]
1,275
Поинты[?]
5K
зачем вызывать эти функции и тем более искать на них оффсеты, если они ребилдятся за 20 секунд….
а про существование __movsb и __stosb наверно слышим впервые……
слышим впервые, расскажи, не пустословь, хоть умнее будем
 
Модератор форума
Модератор
Статус
Оффлайн
Регистрация
19 Май 2018
Сообщения
954
Реакции[?]
1,067
Поинты[?]
20K
слышим впервые, расскажи, не пустословь, хоть умнее будем
ну слушай, __movsb генерирует инструкцию rep movsb и принимает 3 аргумента, прямо как memcpy, и, кто бы мог подумать, делает то же самое, даже слегка быстрее
с __stosb и memset аналогично…

так что смысла в ваших j_memcpy и j_memset нет…
 
Продам прострел стен Warface 10к руб!
Забаненный
Статус
Оффлайн
Регистрация
7 Авг 2018
Сообщения
308
Реакции[?]
106
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Для чего паттерны, если они слетают раз через раз, есть же тоже довольно просто, HUDSilhouettes_Type ->xref 2 sub
 
Сверху Снизу