Гайд Делаем Прозрачную консоль при инжекте [Работает везде]

Нужен ли гайд как поменять цвет этой консоли ?


  • Всего проголосовало
    5
  • Опрос закрыт .
Начинающий
Статус
Оффлайн
Регистрация
22 Окт 2022
Сообщения
98
Реакции[?]
24
Поинты[?]
0
Сначало нам надо подключить две библиотеки это iostream и Windows.h , после того как подключили нам нужно создать саму функцию для установки прозрачности консоли , вот она:
code::
void SetConsoleTransparency() {
    HWND consoleWindow = GetConsoleWindow(); // Получаем дескриптор окна консоли
    LONG_PTR style = GetWindowLongPtr(consoleWindow, GWL_EXSTYLE); // Получаем текущий стиль окна
    SetWindowLongPtr(consoleWindow, GWL_EXSTYLE, style | WS_EX_LAYERED); // Добавляем флаг WS_EX_LAYERED к стилю окна, чтобы включить прозрачность
    SetLayeredWindowAttributes(consoleWindow, 0, 128, LWA_ALPHA); // Устанавливаем атрибуты прозрачности для окна консоли
}

Слева наша консоль , справа дефолтная
1690839216373.png

Дальше идем туда где будем использовать это все, покажу на примере lw там это находиться в DWORD WINAPI main(PVOID base)
После AllocConsole(); вставляем
C++:
SetConsoleTransparency();
И все наша прозрачная консоль готова!
Кому интересно поближе познакомиться с WINAPI советую посмотреть это
Пожалуйста, авторизуйтесь для просмотра ссылки.
.
upd - добавил коментарии в коде
 
Последнее редактирование:
Участник
Статус
Оффлайн
Регистрация
19 Апр 2020
Сообщения
1,179
Реакции[?]
314
Поинты[?]
152K
Сначало нам надо подключить две библиотеки это iostream и Windows.h , после того как подключили нам нужно создать саму функцию для установки прозрачности консоли , вот она:
code::
void SetConsoleTransparency() {
    HWND consoleWindow = GetConsoleWindow();
    LONG_PTR style = GetWindowLongPtr(consoleWindow, GWL_EXSTYLE);
    SetWindowLongPtr(consoleWindow, GWL_EXSTYLE, style | WS_EX_LAYERED);
    SetLayeredWindowAttributes(consoleWindow, 0, 128, LWA_ALPHA);
}

Дальше идем туда где будем использовать это все, покажу на примере lw там это находиться в DWORD WINAPI main(PVOID base)
После AllocConsole(); вставляем
C++:
SetConsoleTransparency();
И все наша прозрачная консоль готова!
Кому интересно поближе познакомиться с WINAPI советую посмотреть это
Пожалуйста, авторизуйтесь для просмотра ссылки.
.
адни сс
 
nop
Пользователь
Статус
Онлайн
Регистрация
1 Ноя 2019
Сообщения
261
Реакции[?]
53
Поинты[?]
0
Можно ещё сделать консоль с размытием через user32.SetWindowCompositionAttribute

C++:
#include <iostream>
#include <windows.h>

typedef enum WINDOWCOMPOSITIONATTRIB {
    WCA_UNDEFINED,
    WCA_NCRENDERING_ENABLED,
    WCA_NCRENDERING_POLICY,
    WCA_TRANSITIONS_FORCEDISABLED,
    WCA_ALLOW_NCPAINT,
    WCA_CAPTION_BUTTON_BOUNDS,
    WCA_NONCLIENT_RTL_LAYOUT,
    WCA_FORCE_ICONIC_REPRESENTATION,
    WCA_EXTENDED_FRAME_BOUNDS,
    WCA_HAS_ICONIC_BITMAP,
    WCA_THEME_ATTRIBUTES,
    WCA_NCRENDERING_EXILED,
    WCA_NCADORNMENTINFO,
    WCA_EXCLUDED_FROM_LIVEPREVIEW,
    WCA_VIDEO_OVERLAY_ACTIVE,
    WCA_FORCE_ACTIVEWINDOW_APPEARANCE,
    WCA_DISALLOW_PEEK,
    WCA_CLOAK,
    WCA_CLOAKED,
    WCA_ACCENT_POLICY,
    WCA_FREEZE_REPRESENTATION,
    WCA_EVER_UNCLOAKED,
    WCA_VISUAL_OWNER,
    WCA_LAST,
} WINDOWCOMPOSITIONATTRIB;

typedef struct WINDOWCOMPOSITIONATTRIBDATA {
    WINDOWCOMPOSITIONATTRIB Attrib;
    PVOID pvData;
    SIZE_T cbData;
} WINDOWCOMPOSITIONATTRIBDATA;

typedef enum ACCENT_STATE {
    ACCENT_DISABLED,
    ACCENT_ENABLE_GRADIENT,
    ACCENT_ENABLE_TRANSPARENTGRADIENT,
    ACCENT_ENABLE_BLURBEHIND,
    ACCENT_INVALID_STATE
} ACCENT_STATE;

typedef struct ACCENT_POLICY {
    ACCENT_STATE AccentState;
    DWORD AccentFlags;
    DWORD GradientColor;
    DWORD AnimationId;
} ACCENT_POLICY;

typedef BOOL(WINAPI* pfnSetWindowCompositionAttribute)(HWND, WINDOWCOMPOSITIONATTRIBDATA*);
static auto SetWindowCompositionAttribute = (pfnSetWindowCompositionAttribute)GetProcAddress(LoadLibrary(L"user32.dll"), "SetWindowCompositionAttribute");

int main() {
    HWND hWnd = GetConsoleWindow();
    HANDLE hStd = GetStdHandle(STD_OUTPUT_HANDLE);

    if (SetWindowCompositionAttribute) {
        ACCENT_POLICY accent = { ACCENT_ENABLE_BLURBEHIND, 0, 0, 0 };
        WINDOWCOMPOSITIONATTRIBDATA data;
        data.Attrib = WCA_ACCENT_POLICY;
        data.pvData = &accent;
        data.cbData = sizeof(accent);
        SetWindowCompositionAttribute(hWnd, &data);
    }

    SetWindowLong(hWnd, GWL_STYLE, GetWindowLong(hWnd, GWL_STYLE) & ~(WS_CAPTION | WS_THICKFRAME)); // remove title bar
    SetWindowPos(hWnd, NULL, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED);

    CONSOLE_SCREEN_BUFFER_INFO csbi;
    GetConsoleScreenBufferInfo(hStd, &csbi);

    COORD scrollbar = { csbi.srWindow.Right - csbi.srWindow.Left + 1, csbi.srWindow.Bottom - csbi.srWindow.Top + 1 };
    SetConsoleScreenBufferSize(hStd, scrollbar);  // remove scroll bar

    for (int i = 0; i < 10; i++)
        std::cout << "hello world!" << std::endl;

    system("pause");
}
1690842740082.png
 
Участник
Статус
Оффлайн
Регистрация
2 Фев 2019
Сообщения
1,155
Реакции[?]
233
Поинты[?]
3K
челики реально в афиге когда узнали что консоль можно делать прозрачной :roflanEbalo: :roflanEbalo:
Можно ещё сделать консоль с размытием через user32.SetWindowCompositionAttribute

C++:
#include <iostream>
#include <windows.h>

typedef enum WINDOWCOMPOSITIONATTRIB {
    WCA_UNDEFINED,
    WCA_NCRENDERING_ENABLED,
    WCA_NCRENDERING_POLICY,
    WCA_TRANSITIONS_FORCEDISABLED,
    WCA_ALLOW_NCPAINT,
    WCA_CAPTION_BUTTON_BOUNDS,
    WCA_NONCLIENT_RTL_LAYOUT,
    WCA_FORCE_ICONIC_REPRESENTATION,
    WCA_EXTENDED_FRAME_BOUNDS,
    WCA_HAS_ICONIC_BITMAP,
    WCA_THEME_ATTRIBUTES,
    WCA_NCRENDERING_EXILED,
    WCA_NCADORNMENTINFO,
    WCA_EXCLUDED_FROM_LIVEPREVIEW,
    WCA_VIDEO_OVERLAY_ACTIVE,
    WCA_FORCE_ACTIVEWINDOW_APPEARANCE,
    WCA_DISALLOW_PEEK,
    WCA_CLOAK,
    WCA_CLOAKED,
    WCA_ACCENT_POLICY,
    WCA_FREEZE_REPRESENTATION,
    WCA_EVER_UNCLOAKED,
    WCA_VISUAL_OWNER,
    WCA_LAST,
} WINDOWCOMPOSITIONATTRIB;

typedef struct WINDOWCOMPOSITIONATTRIBDATA {
    WINDOWCOMPOSITIONATTRIB Attrib;
    PVOID pvData;
    SIZE_T cbData;
} WINDOWCOMPOSITIONATTRIBDATA;

typedef enum ACCENT_STATE {
    ACCENT_DISABLED,
    ACCENT_ENABLE_GRADIENT,
    ACCENT_ENABLE_TRANSPARENTGRADIENT,
    ACCENT_ENABLE_BLURBEHIND,
    ACCENT_INVALID_STATE
} ACCENT_STATE;

typedef struct ACCENT_POLICY {
    ACCENT_STATE AccentState;
    DWORD AccentFlags;
    DWORD GradientColor;
    DWORD AnimationId;
} ACCENT_POLICY;

typedef BOOL(WINAPI* pfnSetWindowCompositionAttribute)(HWND, WINDOWCOMPOSITIONATTRIBDATA*);
static auto SetWindowCompositionAttribute = (pfnSetWindowCompositionAttribute)GetProcAddress(LoadLibrary(L"user32.dll"), "SetWindowCompositionAttribute");

int main() {
    HWND hWnd = GetConsoleWindow();
    HANDLE hStd = GetStdHandle(STD_OUTPUT_HANDLE);

    if (SetWindowCompositionAttribute) {
        ACCENT_POLICY accent = { ACCENT_ENABLE_BLURBEHIND, 0, 0, 0 };
        WINDOWCOMPOSITIONATTRIBDATA data;
        data.Attrib = WCA_ACCENT_POLICY;
        data.pvData = &accent;
        data.cbData = sizeof(accent);
        SetWindowCompositionAttribute(hWnd, &data);
    }

    SetWindowLong(hWnd, GWL_STYLE, GetWindowLong(hWnd, GWL_STYLE) & ~(WS_CAPTION | WS_THICKFRAME)); // remove title bar
    SetWindowPos(hWnd, NULL, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED);

    CONSOLE_SCREEN_BUFFER_INFO csbi;
    GetConsoleScreenBufferInfo(hStd, &csbi);

    COORD scrollbar = { csbi.srWindow.Right - csbi.srWindow.Left + 1, csbi.srWindow.Bottom - csbi.srWindow.Top + 1 };
    SetConsoleScreenBufferSize(hStd, scrollbar);  // remove scroll bar

    for (int i = 0; i < 10; i++)
        std::cout << "hello world!" << std::endl;

    system("pause");
}
а вот это уже полезно и прикольно
 
Searching for myself
Пользователь
Статус
Оффлайн
Регистрация
29 Сен 2021
Сообщения
212
Реакции[?]
69
Поинты[?]
11K
Ебейший гайд по WinAPI, спасибо прослезился:roflanPominki:
 
Забаненный
Статус
Оффлайн
Регистрация
16 Апр 2020
Сообщения
156
Реакции[?]
53
Поинты[?]
33K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Ты ахуеешь когда узнаешь что можно еще через саму Винду сделать прозрачную консоль :pogchamp: :pogchamp:
 
Сверху Снизу