• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Как можно динамически вызвать процедуру из библиотеки?

  • Автор темы phantom76
  • Дата начала
P

phantom76

появилась потребность вызвать динамически процедурку из библиотеки, напрямую вызвать не могу. т.к. нижние библиотеки скрыты, если бы была функция все понятно - через Execute...
а как быть в случае SUB ?
 
H

hosm

а какая разница - ф-ция или процедура? Вы же вызываете код из либы, напишите в экзекьюте юз либы и вызов процедуры.
 
A

Akupaka

напрямую вызвать не могу. т.к. нижние библиотеки скрыты, если бы была функция все понятно - через Execute
Растолкуй, что значит "скрытые" и чем они так закрыты, что из них нельзы вызвать функцию/процедуру?
Если функция объявлена приватной, то ее и Execute не вытянет.
А, если не объявлена, то и без Execute вызвать можно, главное знать ее систаксис.
 
P

phantom76

все просто, исходный код библиотек базового уровня скрыт дизайном, присутствует только в откомпилированном виде, далее идет 2-3 уровня библиотек с открытым кодом, из них соответственно пытаюсь запустить процедуры и функции или объявлять классы объявленные в них. Если я уже в своем коде пишу напрямую use имя_библиотеки, а в теле вызываю ее компонент, то при компиляции возникает ошибка, указывающая на библиотеки нижнего уровня, нет исходного кода.

Через Execute все получилось.
 
A

Akupaka

*надо запомнить* Знач надо скрывать выгрузкой кода в инклуды...
 
N

nvyush

Знач надо скрывать выгрузкой кода в инклуды.
Есть свои грабли. Насколько я помню, если есть библиотеки А, В, С, причём В и С включают А (Use A), то в библиотеке Е Use B + Use C будет вызывать ошибку для инклудной A (для неинклудной А всё норм). Хотя м.б. в 8.5.1 поведение изменилось, не проверял.
 
P

phantom76

*надо запомнить* Знач надо скрывать выгрузкой кода в инклуды...

А можно пояснить на примере?

Мой пример такой, есть библиотеки A,B,C , исходный код библиотеки А скрыт(удален) и базы, в библиотеке B используется А (use A) , в С - "use B". Далее, например пишу свою библиотеку , где делаю "use C", при сохранении появляется ошибка, указывающая на отсутствие классов библиотеки A при компиляции. Тоже самое, при внесении изменений в библиотеку С, сохранить их можно, при компиляции есть ошибки указывающие на объекты из А.
А вот например акцию использующую "С" мне создать удалось для формы, по-изучаю вопрос в дальнейшем, не все пока мне в нем ясно.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!