Уроки Разработка малвари-10. Обфускация Payload


yum

Пользователь
Форумчанин
Регистрация
30.11.2023
Сообщения
47
Репутация
5
Потому-что VirtualAlloc выделяет память страницами по 4096 байт, ну т.е. размер должен-быть кратен 4кб.

А HeapAlloc может выделить любой размер памяти, поэтому предпочтительней использовать эту функцию, если нет требования выделять память страницами...

По сути HeapAlloc это более высокоуровневая функция, которая при необходимости вызывает VirtualAlloc.
А почему тогда в обычной инъекции shellcode мы используем для этого VirtualAlloc
 

X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
6 094
Репутация
8 213
А почему тогда в обычной инъекции shellcode мы используем для этого VirtualAlloc
Там память передается другому процессу вроде, нужно выделять страницами.

Короче ХеапАллок, это выделение для переменных, структур и т.д. в рамках текущего процесса.
Это позволяет экономить память и упростить ее использоаания.

Если память нужно передать другому процессу, устройству и т.д., то нужно выделять страницами.
 

yum

Пользователь
Форумчанин
Регистрация
30.11.2023
Сообщения
47
Репутация
5
Там память передается другому процессу вроде, нужно выделять страницами.

Короче ХеапАллок, это выделение для переменных, структур и т.д. в рамках текущего процесса.
Это позволяет экономить память и упростить ее использоаания.

Если память нужно передать другому процессу, устройству и т.д., то нужно выделять страницами.
А есть что-то почитать или посмотреть более подробно об этом ?
 

X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
6 094
Репутация
8 213
А есть что-то почитать или посмотреть более подробно об этом ?
Описание у майкрософта есть этих функций, также гуглится все, можно примеры найти.

Так кроме доки майкрософт не могу вспомнить к сожалению, но в гугле инфа должна быть.)
 

yum

Пользователь
Форумчанин
Регистрация
30.11.2023
Сообщения
47
Репутация
5
ChatGPT помог сгенерить вот такой способ для генирации Ipv6 . Из-за того что в С++ sprintf является не особо безопасным способ , я у него спрашивал как можно использовать эту функцию . При дальнейших промптов он сгенерил вот такую функцию , она выглядит короче . Если здесь есть какие-то проблемы , сообщите пожалуйста
C++:
char* GenerateIpv6(int a, int b, int c, int d, int e, int f, int g, int h, int i, int j, int k, int l, int m, int n, int o, int p) {
    char* result = (char*)malloc(40);

    if (result == NULL) {
        return NULL;
    }

    snprintf(result, 40, "%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X", a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p);

    return result;
}
 

yum

Пользователь
Форумчанин
Регистрация
30.11.2023
Сообщения
47
Репутация
5
Так же я использовал такое , если есть здесь минусы , Можете подсказать
C++:
char* GenerateIpv6(int a, int b, int c, int d, int e, int f, int g, int h, int i, int j, int k, int l, int m, int n, int o, int p) {
    
    char* output = (char*)malloc(10);
    char* output1 = (char*)malloc(10);
    char* output2 = (char*)malloc(10);
    char* output3 = (char*)malloc(10);

    char* result = (char*)malloc(40);

    snprintf((char*)output, 10 ,"%0.2X%0.2X:%0.2X%0.2X", a, b, c, d);
    snprintf((char*)output1, 10, "%0.2X%0.2X:%0.2X%0.2X", e, f, g, h);
    snprintf((char*)output2, 10 , "%0.2X%0.2X:%0.2X%0.2X", i, j, k, l);
    snprintf((char*)output3, 10, "%0.2X%0.2X:%0.2X%0.2X", m, n, o, p);

    snprintf((char*)result, 40, "%s:%s:%s:%s", output, output1, output2, output3);

    free(output);
    free(output1);
    free(output2);
    free(output3);

    return (char*)result;
}
 

X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
6 094
Репутация
8 213
Первый способ лучше, т.к. используется всего один маллок.
 
Автор темы Похожие темы Форум Ответы Дата
X-Shar Введение в разработку вредоносных программ 1
X-Shar Введение в разработку вредоносных программ 6
X-Shar Введение в разработку вредоносных программ 0
X-Shar Введение в разработку вредоносных программ 2
X-Shar Введение в разработку вредоносных программ 0
X-Shar Введение в разработку вредоносных программ 0
X-Shar Введение в разработку вредоносных программ 0
X-Shar Введение в разработку вредоносных программ 0
X-Shar Введение в разработку вредоносных программ 2
X-Shar Введение в разработку вредоносных программ 1
X-Shar Введение в разработку вредоносных программ 0
X-Shar Введение в разработку вредоносных программ 1
X-Shar Введение в разработку вредоносных программ 1
X-Shar Введение в разработку вредоносных программ 6
X-Shar Введение в разработку вредоносных программ 0
X-Shar Введение в разработку вредоносных программ 7
X-Shar Введение в разработку вредоносных программ 8
X-Shar Введение в разработку вредоносных программ 2
X-Shar Введение в разработку вредоносных программ 4
X-Shar Введение в разработку вредоносных программ 2
Похожие темы
Уроки Разработка вирусов-35.Обход EDRs.Последняя тема цикла
Уроки Разработка вирусов-34.Обход Windows defender
Уроки Разработка вирусов-33.Уменьшение вероятности детекта зверька
Уроки Разработка вирусов-32.Открываем врата ада
Уроки Разработка вирусов-31.Обход виртуальных машин
Уроки Разработка вирусов-30.Черпаем силы в антиотладке
Уроки Разработка вирусов-29. Предельная техника-2. Практика. Реализуем техники инъекции через сисколы
Уроки Разработка малвари-18.Определение PID нужного процесса, или перечисления процессов
Уроки Разработка малвари-14. Размещаем Payload удаленно на сервере
Уроки Разработка малвари-13.Инъекция шелл-кода в процесс
Уроки Разработка малвари-12. Иньекция в процесс
Уроки Разработка малвари-11. Локальный запуск Payload
Уроки Разработка малвари-9. Шифруем Payload
Уроки Разработка малвари-8. Куда класть нагрузку ?
Уроки Разработка малвари-7. Виды детектов
Уроки Разработка малвари-6. Процессы Windows
Уроки Разработка малвари - 5. Изучаем динамические библиотеки
Уроки Разработка малвари - 4. Шпаргалка по архитектуре винды
Уроки Разработка малвари - 3. Так какой-же язык выбрать !?
Уроки Разработка малвари - 2. Изучаем инструменты
Верх Низ