Помогите новичку с c++

Zodiak 1love
Пользователь
Статус
Оффлайн
Регистрация
19 Авг 2019
Сообщения
250
Реакции[?]
35
Поинты[?]
0
Когда компилю длл Бхопа в x64 всё ок, но когда в x86 тоесть под CSGO, то вылазит такая ошибка

Ошбика:
Серьезность    Код    Описание    Проект    Файл    Строка    Состояние подавления
Ошибка    LNK1120    неразрешенных внешних элементов: 1    Project1    C:\Users\Cles\Desktop\Project1\Debug\Project1.exe    1
а также

Еще одна ошибка:
Серьезность    Код    Описание    Проект    Файл    Строка    Состояние подавления
Ошибка    LNK2019    ссылка на неразрешенный внешний символ _main в функции "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ).    Project1    C:\Users\cles\Desktop\Project1\Project1\MSVCRTD.lib(exe_main.obj)    1
Вот сам код:

Сурс:
#include "include.h"

using namespace offsets;

BOOL WINAPI Bunnyhop(
    HMODULE createModule
)
{
    DWORD gameModule = (DWORD)GetModuleHandle(L"client.dll");
    while (!GetAsyncKeyState(VK_END)) {
        DWORD localPlayer = *(DWORD*)(gameModule + signatures::dwLocalPlayer);
        if (localPlayer == NULL) continue;

        int flag = *(int*)(localPlayer + netvars::m_fFlags);

        if (GetAsyncKeyState(VK_SPACE) && flag & (1 << 0)) {
            *(DWORD*)(gameModule + signatures::dwForceJump) = 6;
        }
    }

    FreeLibraryAndExitThread(createModule,0);
    return 0;
}

BOOL APIENTRY DLLMain(
        HMODULE hModule,
        DWORD callReason,
        LPVOID lpReserved
) {
        switch (callReason)
        {
        case DLL_PROCESS_ATTACH:
            CreateThread(0, 0, (LPTHREAD_START_ROUTINE)Bunnyhop, 0, 0, 0);
        case DLL_THREAD_ATTACH:
        case DLL_THREAD_DETACH:
        case DLL_PROCESS_DETACH:
            break;
        }
        return TRUE;
    };
А также Инклюды

Include.h:
#include <iostream>
#include <thread>

#include "Windows.h"
#include "offsets.h"
Надеюсь будет без хейта:roflanPominki:
 
Zodiak 1love
Пользователь
Статус
Оффлайн
Регистрация
19 Авг 2019
Сообщения
250
Реакции[?]
35
Поинты[?]
0
Тоже самое только одна ошибка изменилась на
Код:
Серьезность    Код    Описание    Проект    Файл    Строка    Состояние подавления
Ошибка    LNK2001    неразрешенный внешний символ _WinMain@16.    Project1    C:\Users\cles\Desktop\Project1\Project1\MSVCRT.lib(exe_winmain.obj)    1
Ай я тупой всё норм спасибо
 
Забаненный
Статус
Оффлайн
Регистрация
2 Мар 2021
Сообщения
1,083
Реакции[?]
406
Поинты[?]
1K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
новичку в c++
вообще не нужно лезть в винапи
 
Пользователь
Статус
Оффлайн
Регистрация
17 Июл 2021
Сообщения
462
Реакции[?]
118
Поинты[?]
10K
новичку в c++
вообще не нужно лезть в винапи
а куда ему нужно лезть чтобы, например, получить список всех запущенных приложений на ПК?)
WinAPI - это неотъемлемая часть любой программы на Windows, так что изучая С++, нужно попутно изучать и WinAPI.
 
Забаненный
Статус
Оффлайн
Регистрация
2 Мар 2021
Сообщения
1,083
Реакции[?]
406
Поинты[?]
1K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
а куда ему нужно лезть чтобы, например, получить список всех запущенных приложений на ПК?)
WinAPI - это неотъемлемая часть любой программы на Windows, так что изучая С++, нужно попутно изучать и WinAPI.
пусть сначала яп изучит, я же так понимаю, что он вообще 0?
 
Эксперт
Статус
Оффлайн
Регистрация
9 Апр 2020
Сообщения
1,442
Реакции[?]
671
Поинты[?]
30K
пусть сначала яп изучит, я же так понимаю, что он вообще 0?
Причем тут сначало яп учить, чел, WinAPI как раз новички и будут юзать, у норм кодеров уже свои сдк есть
 
Пользователь
Статус
Оффлайн
Регистрация
17 Июл 2021
Сообщения
462
Реакции[?]
118
Поинты[?]
10K
пусть сначала яп изучит, я же так понимаю, что он вообще 0?
Новичок не значит, что он вообще не знаком с языком. Новичок это тот, кто соответственно начал изучать данный язык недавно. А недавно это понятие растяжимое. Особенно для С++.
Причем тут сначало яп учить, чел, WinAPI как раз новички и будут юзать, у норм кодеров уже свои сдк есть
А вот тут по-подробнее пж)
Что за SDK?)
 
Эксперт
Статус
Оффлайн
Регистрация
9 Апр 2020
Сообщения
1,442
Реакции[?]
671
Поинты[?]
30K
А вот тут по-подробнее пж)
Что за SDK?)
Я тебе кароче тайну открою, ты когда не уверен в чужой либе, либо не хочешь, что бы твой WinAPI спалили в импортах либо такой хуйни нигде нет, ты пишешь реализацию этой хуйни, и когда такой хуйни становиться много, то это называется сдк
 
Пользователь
Статус
Оффлайн
Регистрация
17 Июл 2021
Сообщения
462
Реакции[?]
118
Поинты[?]
10K
Я тебе кароче тайну открою, ты когда не уверен в чужой либе, либо не хочешь, что бы твой WinAPI спалили в импортах либо такой хуйни нигде нет, ты пишешь реализацию этой хуйни, и когда такой хуйни становиться много, то это называется сдк
Это, я так понимаю, ты говоришь о кастомном CRT?) Ну это не WinAPI. Свое WinAPI ты не сможешь написать, потому что:
а) Windows не опенсурс
б) Любая WinAPI функция обращается к экспорту kernel32, а тот в свою очередь к ntdll, а тот уже сисколит) поэтому если сможешь воссоздать их всех, то your welcome))))
 
Эксперт
Статус
Оффлайн
Регистрация
9 Апр 2020
Сообщения
1,442
Реакции[?]
671
Поинты[?]
30K
Это, я так понимаю, ты говоришь о кастомном CRT?) Ну это не WinAPI. Свое WinAPI ты не сможешь написать, потому что:
а) Windows не опенсурс
б) Любая WinAPI функция обращается к экспорту kernel32, а тот в свою очередь к ntdll, а ntdll сисколит) поэтому если сможешь воссоздать их всех, то your welcome))))
Я не говорил про свое API, сдк оно и на то сдк, что это готовый набор инструментов, условно говоря, юзая какую-нибудь проверку на наличие файла через WinAPI, запустив на помойке линуксе, он ожидаемо пошлет тебя нахуй, но ты можешь реализовать 1 раз в сдк, и в последующем не ебать себе мозги (да, реализовывать функции можно не только через апи винды)
 
Пользователь
Статус
Оффлайн
Регистрация
17 Июл 2021
Сообщения
462
Реакции[?]
118
Поинты[?]
10K
Я не говорил про свое API, сдк оно и на то сдк, что это готовый набор инструментов, условно говоря, юзая какую-нибудь проверку на наличие файла через WinAPI, запустив на помойке линуксе, он ожидаема пошлет тебя нахуй, но ты можешь реализовать 1 раз в сдк, и в последующем не ебать себе мозги
Окей, и каким образом ты собрался делать условную функцию GetAsyncKeyState через свой мега сдк? Насколько я помню, то получать нажатия клавиш (не используя эту функцию) можно лишь хуком WndProc (офк для .dll), но WndProc это и есть винапи))
 
Эксперт
Статус
Оффлайн
Регистрация
9 Апр 2020
Сообщения
1,442
Реакции[?]
671
Поинты[?]
30K
Окей, и каким образом ты собрался делать условную функцию GetAsyncKeyState через свой мега сдк? Насколько я помню, то получать нажатия клавиш (не используя эту функцию) можно лишь хуком WndProc (офк для .dll), но WndProc это и есть винапи))
Еще пизду лет назад видел статью с длл перехватом клавиатуры сделанной на ассемблере путем считывания системных прерываний
 
Пользователь
Статус
Оффлайн
Регистрация
17 Июл 2021
Сообщения
462
Реакции[?]
118
Поинты[?]
10K
Еще пизду лет назад видел статью с длл перехватом клавиатуры сделанной на ассемблере путем считывания системных прерываний
но ведь мы говорим о С++, а не об ассемблере)
 
Эксперт
Статус
Оффлайн
Регистрация
9 Апр 2020
Сообщения
1,442
Реакции[?]
671
Поинты[?]
30K
но ведь мы говорим о С++, а не об ассемблере)
Дядя __asm, какая нахуй разница, если я могу засунуть в сдк ассемблерную вставку и меня в жизни ебать не будет что она не на С написана
 
Сверху Снизу