Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Valentin Nechayev                    2:5020/400     12 Jul 2004  15:55:41
 To : Sergey Krinitsin
 Subject : Re: gettimeofday
 -------------------------------------------------------------------------------- 
 
 >>> Sergey Krinitsin wrote: 
 
  VN>> Glibc скорее всего для неё компилирует из шаблона ассемблерный
  VN>>  переходник,
  VN>> аналогично прочим сисколлам. Переходник просто складывает аргументы в
  VN>> регистры (или оставляет на стеке), грузит номер сисколла в %eax
  VN>> и вызывает int 0x80. По возврату проверяет CF и ставит errno по
  VN>> необходимости.
 SK> Похоже что так, но это осложняет дело ;(
 SK> Как можно перехватить данную функцию для определенного приложения?
 SK> Если бы можно было модифицировать glibc, то достаточно было заюзать
 SK> LD_PRELOAD, но это похоже весьма нетривиальное дело :(
 
 А что нетривиального-то? Запусти с LD_PRELOAD на нужную библиотеку.
 
 Вот тебе метод как делается смещение вперёд на час:
 
 int
 gettimeofday(struct timeval *tp, struct timezone *tzp)
 {
   int r;
   static int (*real_func)(struct timeval *, struct timezone *) = NULL;
   if(!real_func) {
    real_func = dlsym(RTLD_NEXT,"gettimeofday");
    if(!real_func) abort();
   }
   if((r=gettimeofday(tp,tzp))==-1)
    return r;
   *tp.t_sec += 3600;
   return 0;
 }
 
 Делаешь so'шку с такой функцией, грузишь через LD_PRELOAD и вперёд...
 -netch-
 --- ifmail v.2.15dev5.3
  * Origin: Dark side of coredump (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 gettimeofday   Sergey Krinitsin   10 Jul 2004 19:51:19 
 Re: gettimeofday   Valentin Nechayev   11 Jul 2004 19:53:00 
 Re: gettimeofday   Sergey Krinitsin   12 Jul 2004 13:58:02 
 Re: gettimeofday   Valentin Nechayev   12 Jul 2004 15:55:41 
 Re: gettimeofday   Sergey Krinitsin   13 Jul 2004 02:31:27 
 Re: gettimeofday   Valentin Nechayev   13 Jul 2004 11:25:04 
 Re: gettimeofday   Sergey Krinitsin   13 Jul 2004 14:54:20 
Архивное /ru.linux/22383f4c275fa.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional