Статья Как создать файл DLL через байты [C++]

Darwin

Команда форума
Администратор
Сообщения
815
Реакции
389

Создание DLL через байты​

в данной статье я вам хочу рассказать как создать DLL через байты, это намного безопаснее чем качать файл с определенного ресурса, все что нам нужно это наша DLL в нашем случае с читом и в файле проекта создать специальный файл заголовок под наши байты нам нужно будет конвертировать DLL в байты для этого используйте программу HxD нам нужно скопировать байты в C формате

это наш файл заголовок внутри надо поместить байты нашей DLL​
C++:
unsigned char byteData[размер] = {

0x0, 0x0, 0x0 // и т д

};

Это наш метод который будет создавать из памяти нашу DLL​
C++:
bool CreateFileFromMemory(const std::string& desired_file_path, const char* address, size_t size)
{
    ofstream file_ofstream(desired_file_path.c_str(), std::ios_base::out | std::ios_base::binary);

    if (!file_ofstream.write(address, size))
    {
        file_ofstream.close();
        return false;
    }

    file_ofstream.close();
    return true;
}

Давайте реализуем:
C++:
CreateFileFromMemory("main.dll", reinterpret_cast<const char*>(byteData), sizeof(byteData));

После запуска программы должен создаться файл рядом с нашей программы с названием main.dll
используйте очень полезный метод!​
 

Darwin

Команда форума
Администратор
Сообщения
815
Реакции
389
Так же это работает и с PE файлами не только DLL
пользуйтесь! если взять сферу вирусологий, в плохих руках очень страшный метод)
 

$1and1

Активный
Сообщения
279
Реакции
41
интересно! Но ещё интереснее с чем это связано с вирусологией?
 

Darwin

Команда форума
Администратор
Сообщения
815
Реакции
389
интересно! Но ещё интереснее с чем это связано с вирусологией?
То что антивирусы не смогут найти этот файл и проанализировать, это тоже самое что возьми шелл код
 

$1and1

Активный
Сообщения
279
Реакции
41
То что антивирусы не смогут найти этот файл и проанализировать, это тоже самое что возьми шелл код
вот вопрос, как антивирус отслеживает когда какое-нибудь программа хочет заинжектить dll то он палит и как с этим боротся?
 

Darwin

Команда форума
Администратор
Сообщения
815
Реакции
389
вот вопрос, как антивирус отслеживает когда какое-нибудь программа хочет заинжектить dll то он палит и как с этим боротся?
он работает с читом напрямую
любая программа работающая с памятью будет выдавать антивирусу как угроза, поэтому надо детально анализировать программу и уметь это делать в случае если хочешь убедиться что это действительно не вирус
 

$1and1

Активный
Сообщения
279
Реакции
41
он работает с читом напрямую
любая программа работающая с памятью будет выдавать антивирусу как угроза, поэтому надо детально анализировать программу и уметь это делать в случае если хочешь убедиться что это действительно не вирус
а если процесс драйвер, то он сможет его заблокировать?
 

Darwin

Команда форума
Администратор
Сообщения
815
Реакции
389
антивирус может удалять блокировать драйвер?
антивирусы перешли тоже в режим ядра, но если там опытный хакер и разбирается в C коде то ему твой антивирус не о чем не говорит
 

dubdive

Следопыт
Сообщения
85
Реакции
5
супер, как хорошо что здесь постят куча полезных мелочей понятно и по делу!
 

$1and1

Активный
Сообщения
279
Реакции
41
антивирусы перешли тоже в режим ядра, но если там опытный хакер и разбирается в C коде то ему твой антивирус не о чем не говорит
если будет в режиме ядра, то он сможет остановить работу антивируса?
 

nikitafajcuk

Пользователь
Сообщения
11
Реакции
0


Создание DLL через байты​

в данной статье я вам хочу рассказать как создать DLL через байты, это намного безопаснее чем качать файл с определенного ресурса, все что нам нужно это наша DLL в нашем случае с читом и в файле проекта создать специальный файл заголовок под наши байты нам нужно будет конвертировать DLL в байты для этого используйте программу HxD нам нужно скопировать байты в C формате

это наш файл заголовок внутри надо поместить байты нашей DLL​
C++:
unsigned char byteData[размер] = {

0x0, 0x0, 0x0 // и т д

};

Это наш метод который будет создавать из памяти нашу DLL​
C++:
bool CreateFileFromMemory(const std::string& desired_file_path, const char* address, size_t size)
{
    ofstream file_ofstream(desired_file_path.c_str(), std::ios_base::out | std::ios_base::binary);

    if (!file_ofstream.write(address, size))
    {
        file_ofstream.close();
        return false;
    }

    file_ofstream.close();
    return true;
}

Давайте реализуем:
C++:
CreateFileFromMemory("main.dll", reinterpret_cast<const char*>(byteData), sizeof(byteData));

После запуска программы должен создаться файл рядом с нашей программы с названием main.dll
используйте очень полезный метод!​
прикольно, у меня получилось
 
Верх Низ