как обойти вызов UDF

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

как обойти вызов UDF

xdenser
Есть некая программа, которая при запуске обращается к базе, делает вызов
select some_udf('some text') from $rdb_database;

и дальше не хочет работать если запрос возвращает true

У меня есть админский доступ к базе, но нет доступа к самому серверу, так что подменить dll я не могу. (Точнее могу, но это не решение).
Мне нужно сделать временно не перезапуская сервер, чтобы это запрос возвращал false. Потом вернуть назад.

Есть идеи?

--
 
---
Вы получили это сообщение, поскольку подписаны на группу gmane.comp.db.firebird.russian.
 
Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес [hidden email].
Настройки подписки и доставки писем: https://groups.google.com/groups/opt_out.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

RE: как обойти вызов UDF

Dmitry Beloshistov

Ну а просто:

 

Select FALSE from Rdb$database

 

Или :

 

Select IIF(some_udf(‘some text’)=TRUE,FALSE,FALSE) from rdb$database.

 

вместо твоего?

 

 

WBR, Dmitry Beloshistov AKA [-=BDS=-]

 

 

 

From: [hidden email] [mailto:[hidden email]] On Behalf Of Denys Khanzhyiev
Sent: Thursday, October 31, 2013 11:45 AM
To: [hidden email]
Subject: как обойти вызов UDF

 

Есть некая программа, которая при запуске обращается к базе, делает вызов

select some_udf('some text') from $rdb_database;

и дальше не хочет работать если запрос возвращает true

У меня есть админский доступ к базе, но нет доступа к самому серверу, так что подменить dll я не могу. (Точнее могу, но это не решение).

Мне нужно сделать временно не перезапуская сервер, чтобы это запрос возвращал false. Потом вернуть назад.

Есть идеи?

--
 
---
Вы получили это сообщение, поскольку подписаны на группу gmane.comp.db.firebird.russian.
 
Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес [hidden email].
Настройки подписки и доставки писем: https://groups.google.com/groups/opt_out.

--
 
---
Вы получили это сообщение, поскольку подписаны на группу gmane.comp.db.firebird.russian.
 
Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес [hidden email].
Настройки подписки и доставки писем: https://groups.google.com/groups/opt_out.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: как обойти вызов UDF

Alex Cherednichenko
In reply to this post by xdenser
> Есть некая программа, которая при запуске обращается к базе, делает вызов
> select some_udf('some text') from $rdb_database;
>
> и дальше не хочет работать если запрос возвращает true
>
> У меня есть админский доступ к базе, но нет доступа к самому серверу,
> так что подменить dll я не могу. (Точнее могу, но это не решение).
> Мне нужно сделать временно не перезапуская сервер, чтобы это запрос
> возвращал false. Потом вернуть назад.
>
> Есть идеи?

Взлом проприетарного продукта.
Нехорошо.

--

---
Вы получили это сообщение, поскольку подписаны на группу gmane.comp.db.firebird.russian.

Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес [hidden email].
Настройки подписки и доставки писем: https://groups.google.com/groups/opt_out.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: как обойти вызов UDF

xdenser
In reply to this post by Dmitry Beloshistov
Я не могу поменять запрос, я могу изменять только базу. Впрочем... Можно попатчить прогу.


31 октября 2013 г., 12:08 пользователь Dmitry A. Beloshistov <[hidden email]> написал:

Ну а просто:

 

Select FALSE from Rdb$database

 

Или :

 

Select IIF(some_udf(‘some text’)=TRUE,FALSE,FALSE) from rdb$database.

 

вместо твоего?

 

 

WBR, Dmitry Beloshistov AKA [-=BDS=-]

 

 

 

From: [hidden email] [mailto:[hidden email]] On Behalf Of Denys Khanzhyiev
Sent: Thursday, October 31, 2013 11:45 AM
To: [hidden email]
Subject: как обойти вызов UDF

 

Есть некая программа, которая при запуске обращается к базе, делает вызов

select some_udf('some text') from $rdb_database;

и дальше не хочет работать если запрос возвращает true

У меня есть админский доступ к базе, но нет доступа к самому серверу, так что подменить dll я не могу. (Точнее могу, но это не решение).

Мне нужно сделать временно не перезапуская сервер, чтобы это запрос возвращал false. Потом вернуть назад.

Есть идеи?

--
 
---
Вы получили это сообщение, поскольку подписаны на группу gmane.comp.db.firebird.russian.
 
Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес [hidden email].
Настройки подписки и доставки писем: https://groups.google.com/groups/opt_out.

--
 
---
Вы получили это сообщение, поскольку подписаны на группу gmane.comp.db.firebird.russian.
 
Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес [hidden email].
Настройки подписки и доставки писем: https://groups.google.com/groups/opt_out.

--
 
---
Вы получили это сообщение, поскольку подписаны на группу gmane.comp.db.firebird.russian.
 
Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес [hidden email].
Настройки подписки и доставки писем: https://groups.google.com/groups/opt_out.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: как обойти вызов UDF

xdenser
In reply to this post by Alex Cherednichenko
Почему сразу взлом. Это нужно для удобства. Это защита от дурака, я же себя таковым не считаю. :-)


31 октября 2013 г., 12:11 пользователь Alex Cherednichenko <[hidden email]> написал:
> Есть некая программа, которая при запуске обращается к базе, делает вызов
> select some_udf('some text') from $rdb_database;
>
> и дальше не хочет работать если запрос возвращает true
>
> У меня есть админский доступ к базе, но нет доступа к самому серверу,
> так что подменить dll я не могу. (Точнее могу, но это не решение).
> Мне нужно сделать временно не перезапуская сервер, чтобы это запрос
> возвращал false. Потом вернуть назад.
>
> Есть идеи?

Взлом проприетарного продукта.
Нехорошо.

--

---
Вы получили это сообщение, поскольку подписаны на группу gmane.comp.db.firebird.russian.

Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес [hidden email].
Настройки подписки и доставки писем: https://groups.google.com/groups/opt_out.

--
 
---
Вы получили это сообщение, поскольку подписаны на группу gmane.comp.db.firebird.russian.
 
Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес [hidden email].
Настройки подписки и доставки писем: https://groups.google.com/groups/opt_out.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: как обойти вызов UDF

Alex Cherednichenko
> Почему сразу взлом. Это нужно для удобства.
> Это защита от дурака, я же себя таковым не считаю. :-)

Тогда вопросы ни к чему.

--

---
Вы получили это сообщение, поскольку подписаны на группу gmane.comp.db.firebird.russian.

Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес [hidden email].
Настройки подписки и доставки писем: https://groups.google.com/groups/opt_out.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: как обойти вызов UDF

Евгений Виноградный
In reply to this post by xdenser
On 31.10.2013 13:45, Denys Khanzhyiev wrote:

> Есть некая программа, которая при запуске обращается к базе, делает вызов
> select some_udf('some text') from $rdb_database;
>
> и дальше не хочет работать если запрос возвращает true
>
> У меня есть админский доступ к базе, но нет доступа к самому серверу,
> так что подменить dll я не могу. (Точнее могу, но это не решение).
> Мне нужно сделать временно не перезапуская сервер, чтобы это запрос
> возвращал false. Потом вернуть назад.
>
> Есть идеи?
>
> --
>
> ---
> Вы получили это сообщение, поскольку подписаны на группу
> gmane.comp.db.firebird.russian.
>
> Чтобы отказаться от подписки на эту группу и перестать получать из нее
> сообщения, отправьте электронное письмо на адрес
> [hidden email].
> Настройки подписки и доставки писем:
> https://groups.google.com/groups/opt_out.
Попробуй переобъяви UDF на одну из стандартных функций с подходящими
параметрами и результатом из budf.dll или ib_udf.dll. Например:
{{{
/*****************************************
  *
  *    s t r l e n
  *
  *****************************************
  *
  * Functional description:
  *    Returns the length of a given string.
  *
  *****************************************/
DECLARE EXTERNAL FUNCTION strlen
     CSTRING(32767) CHARACTER SET NONE
     RETURNS INTEGER BY VALUE
     ENTRY_POINT 'IB_UDF_strlen' MODULE_NAME 'ib_udf';
}}}

--

---
Вы получили это сообщение, поскольку подписаны на группу gmane.comp.db.firebird.russian.

Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес [hidden email].
Настройки подписки и доставки писем: https://groups.google.com/groups/opt_out.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: как обойти вызов UDF

xdenser
не пойдет - она мне вернет число >0, что есть true
а мне надо вернуть false
Но в общем я уже распаковал программу, подменил строку запроса. Все равно не работает, как надо.
Ладно, буду мучится с перезапуском сервера.


31 октября 2013 г., 14:03 пользователь Евгений Виноградный <[hidden email]> написал:
On 31.10.2013 13:45, Denys Khanzhyiev wrote:
Есть некая программа, которая при запуске обращается к базе, делает вызов
select some_udf('some text') from $rdb_database;

и дальше не хочет работать если запрос возвращает true

У меня есть админский доступ к базе, но нет доступа к самому серверу,
так что подменить dll я не могу. (Точнее могу, но это не решение).
Мне нужно сделать временно не перезапуская сервер, чтобы это запрос
возвращал false. Потом вернуть назад.

Есть идеи?

--

---
Вы получили это сообщение, поскольку подписаны на группу
gmane.comp.db.firebird.russian.

Чтобы отказаться от подписки на эту группу и перестать получать из нее
сообщения, отправьте электронное письмо на адрес
[hidden email].
Настройки подписки и доставки писем:
https://groups.google.com/groups/opt_out.
Попробуй переобъяви UDF на одну из стандартных функций с подходящими параметрами и результатом из budf.dll или ib_udf.dll. Например:
{{{
/*****************************************
 *
 *    s t r l e n
 *
 *****************************************
 *
 * Functional description:
 *    Returns the length of a given string.
 *
 *****************************************/
DECLARE EXTERNAL FUNCTION strlen
    CSTRING(32767) CHARACTER SET NONE
    RETURNS INTEGER BY VALUE
    ENTRY_POINT 'IB_UDF_strlen' MODULE_NAME 'ib_udf';

}}}

--

--- Вы получили это сообщение, поскольку подписаны на группу gmane.comp.db.firebird.russian.

Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес [hidden email].
Настройки подписки и доставки писем: https://groups.google.com/groups/opt_out.

--
 
---
Вы получили это сообщение, поскольку подписаны на группу gmane.comp.db.firebird.russian.
 
Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес [hidden email].
Настройки подписки и доставки писем: https://groups.google.com/groups/opt_out.
Loading...