Главная Настройка Mobile Контакты NSFW Каталог Пожертвования Купить пасскод Pics Adult Pics API Архив Реквест доски Каталог стикеров Реклама
Доски


[Ответить в тред] Ответить в тред

Check this out!

[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 84 | 29 | 11
Назад Вниз Каталог Обновить

Аноним 02/11/17 Чтв 04:26:52  164139152  
14689914477320.png (504Кб, 759x1929)
Тред помощи мне в погромировании. Сразу оговорюсь что это не задание из универа или какие-то внешние курсы в очередную ойти-компанию. Вообще я безработный и на пары хожу раз в неделю. Но не суть.
Суть вот в чем:
Существует dll-модуль, который можно подключить к проекту на плюсах.
Вопрос: как это сделать?
Всё что мне нужно - создать экземпляр одного класса из той дллки. Гугл говорит про LoadLibrary, но везде очень сложно объясняют, я нипонимаю. Уяснил только то, что способа dll.Method() нет и быть не может, а посему надо ебаться с какими-то поисками с помощью GetProcAdress и вообще. Ищу анона, который объяснит на пальцах что нужно делать.
Аноним 02/11/17 Чтв 04:27:20  164139160
14688776151780.jpg (75Кб, 540x886)
Бампаю сто тысяч раз и ухожу.
Аноним 02/11/17 Чтв 04:28:09  164139172
14667269329982.jpg (354Кб, 1920x901)
Аноним 02/11/17 Чтв 04:29:03  164139184
15036798725521.jpg (517Кб, 2880x1800)
Аноним 02/11/17 Чтв 04:29:56  164139197
14706040121930.jpg (259Кб, 1400x745)
Аноним 02/11/17 Чтв 04:30:43  164139210
15078891619510.png (876Кб, 720x1080)
Аноним 02/11/17 Чтв 04:32:28  164139247
14706072166572.jpg (31Кб, 1280x853)
Аноним 02/11/17 Чтв 04:33:18  164139260
14706062823902.jpg (82Кб, 763x1080)
Аноним 02/11/17 Чтв 04:34:24  164139276
QzX8K-uGevE.jpg (21Кб, 428x320)
Аноним 02/11/17 Чтв 04:35:21  164139291
lqGwYjO4zhA.jpg (44Кб, 500x321)
Аноним 02/11/17 Чтв 04:36:35  164139305
14778318654781.jpg (648Кб, 2048x1536)
Аноним 02/11/17 Чтв 04:37:37  164139321
14694618239111.jpg (280Кб, 836x1200)
Аноним 02/11/17 Чтв 04:38:39  164139335
14688697853540.jpg (491Кб, 2560x1600)
Аноним 02/11/17 Чтв 04:38:44  164139337
неплохо помогли ему)
Аноним 02/11/17 Чтв 04:39:19  164139347
15074944037790.jpg (231Кб, 600x1029)
Аноним 02/11/17 Чтв 04:40:13  164139361
14693728250690.jpg (351Кб, 2721x1167)
Аноним 02/11/17 Чтв 04:41:00  164139375
15076446896701.jpg (167Кб, 960x636)
Аноним 02/11/17 Чтв 04:42:05  164139398
15036908414110.jpg (455Кб, 1920x1080)
Аноним 02/11/17 Чтв 04:42:52  164139412
14760006552100.jpg (180Кб, 1280x960)
Аноним 02/11/17 Чтв 04:43:14  164139418
14802667664851.jpg (648Кб, 1920x840)
Аноним 02/11/17 Чтв 04:44:18  164139442
14860516503410.png (1358Кб, 1500x1008)
Аноним 02/11/17 Чтв 04:44:51  164139460
14694638769860.jpg (135Кб, 540x719)
Аноним 02/11/17 Чтв 04:46:34  164139505
14694612382903.jpg (564Кб, 940x1346)
Аноним 02/11/17 Чтв 04:47:10  164139517
14762239930180.jpg (123Кб, 650x740)
Аноним 02/11/17 Чтв 04:47:50  164139534
14801760144411.jpg (129Кб, 919x662)
Аноним 02/11/17 Чтв 04:48:57  164139555
14886625885580.jpg (2047Кб, 1920x1080)
Аноним 02/11/17 Чтв 04:49:58  164139564
xGJ9alpTIAM.jpg (56Кб, 605x605)
Аноним 02/11/17 Чтв 04:51:10  164139591
14808843894220.jpg (375Кб, 1920x1200)
Аноним 02/11/17 Чтв 04:53:05  164139620
14739234181320.jpg (88Кб, 1280x720)
Аноним 02/11/17 Чтв 04:53:37  164139633
>>164139152 (OP)
Тебе не помогут тут.
инклуд ёбана и компилишь с зависимостями хз знает ебана как называется
и усё
Аноним 02/11/17 Чтв 04:54:44  164139658
>>164139152 (OP)
В длл классов не бывает.

Для подключения нужен *.h для этот библиотечки с импортами функций.
Аноним 02/11/17 Чтв 04:56:45  164139694
>>164139152 (OP)
Это вроде как называется динамическая линковка. Для этой хуйни нужен файл .lib и заголовочный файл, где все эти методы задекларированы.
Аноним 02/11/17 Чтв 04:59:03  164139734
Блять. Я НАСТОЛЬКО фартовый, что после "не помогут", начали помогать. Пздец какой-то.
Аноним 02/11/17 Чтв 05:00:41  164139755
>>164139658
Нет никакого хедера, длл написана вообще не на плюсах.
Аноним 02/11/17 Чтв 05:01:10  164139765
1270487090433.jpg (34Кб, 311x311)
>>164139734
Аноним 02/11/17 Чтв 05:02:50  164139789
>>164139755
Длл это откомпилированный код, не важно на чем написана.
Без хедеров ты не сможешь узнать, какие функции в библиотеке и какие передавать параметры. Ищи примеры с этот библиотекой.
Аноним 02/11/17 Чтв 05:03:14  164139796
>>164139755
Так в чём проблема попробовать гугловый вариант?
Аноним 02/11/17 Чтв 05:05:26  164139843
А вообще, вот тут все есть: https://msdn.microsoft.com/ru-ru/library/ms235636.aspx

Если нету заголовочного файла, то либо пишешь свой, ковыряя библиотеку в ollydbg или еще где, либо ищешь в интернетах этот файл.
Аноним 02/11/17 Чтв 05:06:13  164139854
>>164139843
https://msdn.microsoft.com/en-us/library/ms684175.aspx
Где твой бог ковыряний теперь?
Аноним 02/11/17 Чтв 05:07:29  164139878
>>164139789
У меня есть исходник. Какие функции нужно вызывать я знаю.
Просто вот пример из исходника:

procedure TryingGetVer(var buf:string; addrs:dessscr; args:pointer=nil); stdcall;

Каким образом мне её вызывать?
Аноним 02/11/17 Чтв 05:09:30  164139917
>>164139878
https://msdn.microsoft.com/en-us/library/ms686944.aspx
Аноним 02/11/17 Чтв 05:11:18  164139951
>>164139917
>https://msdn.microsoft.com/en-us/library/ms686944.aspx
так-так-так.
Я правильно понимаю что я не могу передать аргументы из плюсов?
Аноним 02/11/17 Чтв 05:11:37  164139962
>>164139917
А чем ему статическое подключение не подойдет?
Аноним 02/11/17 Чтв 05:12:17  164139970
>>164139854
И ты знаешь имена функций?
Аноним 02/11/17 Чтв 05:12:38  164139979
>>164139970
>>164139878
Аноним 02/11/17 Чтв 05:12:55  164139986
>>164139951
Все можешь. Библиотека будет в адресном пространстве прогрммы.
Аноним 02/11/17 Чтв 05:14:42  164140020
>>164139979
Ну тогда можно и заголовочный файл самому написать, так бы сначала пришлось адреса узнавать.
Аноним 02/11/17 Чтв 05:14:48  164140022
>>164139962
>Существует dll-модуль, который можно подключить к проекту на плюсах.
Вопрос: как это сделать?
я думал это и есть задание "научиться ебаться с dll"
Аноним 02/11/17 Чтв 05:16:14  164140051
>>164139986
Блять. Вот смотри нахуй
В этом исходнике есть такая хуерга

HoldThisUp = record
fileinfo:FileInfo;
procname:PAnsiChar;
procarg1:PAnsiChar;
procarg2:PAnsiChar;
dsign:PAnsiChar;
datainfo:MyDataInfo;
is_he_dead:boolean;
end;
В следующей функции используется HoldThisUp как аргумент.
Каким образом мне из плюсов передать аргумент такого типа?
Аноним 02/11/17 Чтв 05:19:26  164140106
>>164140051
Как обычный указатель, не? Или там в примере вся структура передается?
Аноним 02/11/17 Чтв 05:25:12  164140215
>>164139152 (OP)
Гугли на английском.
Аноним 02/11/17 Чтв 05:26:38  164140236
http://www.programmersforum.ru/showthread.php?t=38078

Вот пример.
Создай свой хедер с тем же имемем, что и dll, вдруг возьмется, и импортом лишь тех функций, что нужны.
Аноним 02/11/17 Чтв 05:26:53  164140245
>>164140106
Нет,я напиздел
В общем, мне нужно вызывать ровно одну функцию. Вот она

SendMessage(@ProcessClient, @dllinfo, @SysMsg_SendCallback ,@userdata);

К примеру, аргумент dllinfo - это переменная, которая объявлялась так

dllinfo:DllInfostr;

Что мне конкретно нужно сделать в плюсах, чтобы я мог юзать этот аргумент.
Аноним 02/11/17 Чтв 05:28:13  164140264
>>164139152 (OP)
Берешь дллку, с помощью виндозного сдк вытаскиваешь экспорты с неё(dumpbin) с экспортов создаешь .def файл, с .def файла создаешь .lib. С так же с .def файла создаешь с++ хидер. Подключаешь к проекту, и всё заебись компилится без всяких LoadLibrary/GetProcAddress.
мануалов дохуя
>https://stackoverflow.com/questions/9360280/how-to-make-a-lib-file-when-have-a-dll-file-and-a-header-file
по ссылке второй ответ например
Аноним 02/11/17 Чтв 05:29:28  164140283
>>164140264
Спасибо, посмотрю.
Аноним 02/11/17 Чтв 05:42:30  164140482
>>164140283
Будет достаточно сложно создать хидер для дллки если там действительно функции от класса, хуй угадаешь как он был написан у разработчика, и с какими флагами потом была скомпилена дллка и какие функции компилятор урезал или оптимизировал, или поменял сигнатуру функции. энивей, получишь когда .def файл например конструктор класса в экспортах должен выглядеть типа _Z3fooIN3BarEE3FooIXT_EEv()

на сайте demangler.com можешь расшифровать что это за хуйня. обычно на Ev() заканчиваются конструкторы классов. Вызвав эту функцию из кода, получишь поинтер на void. Дальше для этого поинтера надо будет дергать остальные функции от этого класса. Гемороя много, но в целом решаемо.
Аноним 02/11/17 Чтв 05:45:09  164140528
>>164139789
маня не умеет в экспорты
Аноним 02/11/17 Чтв 05:46:27  164140544
>>164140528
> 2017
> уметь возиться с dll
Аноним 02/11/17 Чтв 05:50:05  164140600
>>164140544
А что ви таки предлагаете
.so?
Аноним 02/11/17 Чтв 05:52:10  164140636
>>164140600
Исходнички, компилируемые вместе с основным проектом.
Аноним 02/11/17 Чтв 05:54:14  164140673
>>164140636
Ну у Опа-хуя исходнички паскалеподобные могу ошибаться, да. Как там нынче дельфи с крестами совместно компилируются и работают? Через анус?
Аноним 02/11/17 Чтв 05:55:41  164140699
Я просто не понимаю. Как в теории это должно работать. Вот есть переменная dllinfo, которая объявлялась как dllinfo:DllInfostr.
DllInfostr это вообще структура, которая в делфи в полях имеет вообще разные типы данных, которые в свою очередь тоже могут являться такими же структурами.
Каким хуем я должен отправить аргумент из плюсов в эту функцию?
Аноним 02/11/17 Чтв 05:55:43  164140700
>>164140544
понимать как работают динамические библиотеки не есть зашквар манька
Аноним 02/11/17 Чтв 05:56:18  164140710
>>164140673
На .нет уже компилятся.
Аноним 02/11/17 Чтв 05:56:41  164140719
>>164140700
Очевидно - хуёво
Аноним 02/11/17 Чтв 05:58:21  164140745
>>164140699
в эту
>SendMessage(@ProcessClient, @dllinfo, @SysMsg_SendCallback ,@userdata);
Аноним 02/11/17 Чтв 05:58:47  164140749
>>164140699
Попытайся сделать такую же в хедере уже на си. А ты как хотел.
Аноним 02/11/17 Чтв 06:00:16  164140773
>>164140749
сука, да я даже не понимаю что в некоторые переменные передается
Аноним 02/11/17 Чтв 06:00:26  164140777
>>164140700
Библиотека - пережиток времен, когда размер кода был критичен для оперативки. Не позволю библиотерарю принять участие в моей жизни. Библиотеочервьь - не человек, криппер инсайд. Бейте его, насмехайтесь над ним!
Аноним 02/11/17 Чтв 06:02:02  164140805
>>164140773
Тогда забей. Если сложные структуры передаются, тут или действительно дебаггером препарировать, или все-таки искать заголовки, или писать функционал самому.
Аноним 02/11/17 Чтв 06:02:14  164140806
Ладно, похоже действительно надо писать свой заголовок. Ну что ж - попытка не пытка, хули. Буду пытаться.
Я так понимаю потом просто юзнуть LoadLibrary, найти нужную функцию и передать туда все аргументы?
Аноним 02/11/17 Чтв 06:03:34  164140828
>>164140806
Лоад лайбрари - это динамический метод.
Через хеадер - статический.
Ты уж определись.
Аноним 02/11/17 Чтв 06:03:46  164140829
Кто-то должен это сделать.
САМОЕ ВРЕМЯ ПЕРЕПИСАТЬ С ДЕЛЬФИ НА РАСТ!!!!
Аноним 02/11/17 Чтв 06:05:03  164140856
>>164140828
Так мне методы же нет смысла описывать, разве нет?
Я так думал что я в хедере опишу типы данных, а потом вызову библиотеку и в метод всё что нужно закину.
Аноним 02/11/17 Чтв 06:07:04  164140888
>>164140856
Как ты хедер опишешь без тех структур, что передаются и возвращаются?
Аноним 02/11/17 Чтв 06:07:56  164140906
>>164140888
Описывать структуры. Они же рано или поздно придут к простым типам.
Аноним 02/11/17 Чтв 06:09:55  164140935
В исходниках у функций прописал stdcall, это сильно упрощает процесс?
Аноним 02/11/17 Чтв 06:10:13  164140941
>>164140935
прописан*
Аноним 02/11/17 Чтв 06:11:45  164140959
>>164140935
По-моему это стандартный порядок передачи параметров, и только.
Аноним 02/11/17 Чтв 06:13:41  164140993
Ладно, аноны. Спасибо за помощь. Ушёл ебаться.
Аноним 02/11/17 Чтв 06:25:54  164141179
Оп, скинь свой пак пикч
Аноним 02/11/17 Чтв 06:28:11  164141231
>>164141179
Подключишь мне за это дллку?
Аноним 02/11/17 Чтв 07:07:51  164141835
Вкатывальщики не нужны
Аноним 02/11/17 Чтв 07:41:35  164142531
>>164141231
> Подключишь мне за это дллку?
Сорян, я не програмизд
Аноним 02/11/17 Чтв 07:47:35  164142651
>>164139152 (OP)
весь прикол картинки в том что без тонны макияжа ебало этой тян будет как у куна слева

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 84 | 29 | 11
Назад Вверх Каталог Обновить

Топ тредов
Избранное