• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

class from dll

  • Автор темы Автор темы Hsilgos
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
H

Hsilgos

Народ! Кто-нибудь может дать ответ, как мне загрузить класс из DLL-ки ???
 
А разве такое возможно? Или все-таки объект класса? Берешь Visual C++ 6.0 создаешь dll-проект, вижал автоматицки создаст примеры для экспорта функций и объектов.
 
да да, галоўнае каб класы былі сінхранізаваны ў *.dll and *.exe.
Ну канешне калі няведаеш трэба цераз функцыі ўказнікі на аб'екты вяртаць.
Наконт выдалення мабыць лепей каб з *.dll выдалялася, бо ў *.dll свая лакальная куча, калі не памыляюся.

Код:
//---------EXE----------------------------------------
interface IObj
{
virtual Draw() = 0;
};

class X : public IObj
{
};

typedef void (*GetObj)(IObj*);
typedef void (*DelObj)(IObj*);

void main()
{
HMODULE module = LoadLibrary("name.dll");
GetObj obj_fn = GetProcAddress(module, "GetObj");
DelObj del_fn = GetProcAddress(module, "DelObj");
IObj*ptr;//пакуль не ініцыалізаваны
obj_fn(ptr);//ініцыялізуем
ptr->Draw();//ужо працуе
del_fn(ptr);// САМАЕ ЛЕПШАЕ І НАДЗЕЙНАЕ
}
//---------EXE----------------------------------------

????: чуть-чуть поправил оформление, для лучшего восприятия.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab