The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Отслежка используемых программой шрифтов в Х-ах. (X font sniffer)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: X, font, sniffer,  (найти похожие документы)
Date: Mon, 26 Aug 2002 02:24:29 +0600 From: Victor Wagner <vitus@45.free.net> Newsgroups: fido7.ru.linux Subject: Отслежка используемых программой шрифтов в Х-ах. OL> Может можно каким-то cнифеpом пpоcмотpеть какие пpогpамма шpифты OL> запpашивает y cеpвеpа. Поcоветyйте готовyю технологию, а то вpемени pазбиpать OL> Х-пpотокол cовcем нет. Это гораздо проще сделать не снифером протокола, а перехватом вызовов xlib. =cut xfontdump.c #include <dlfcn.h> #include <X11/Xlib.h> #include <X11/Xutil.h> #include <unistd.h> #include <string.h> /* Devoted to Cyril Slobin for his excellent works in area of Russification Copyright (C) 2002 by V. Wagner */ void report(const char *function, const char *name); XFontStruct *(*RealLoadQueryFont) (Display *display, const char* name); Font (*RealLoadFont) (Display *display, const char *name); Display* XOpenDisplay( const char* display_name) { void * handle=dlopen("libX11.so.6", RTLD_NOW | RTLD_GLOBAL); void *(*RealOpenDisplay)(const char*); if (!handle) exit(127); RealOpenDisplay=dlsym(handle, "XOpenDisplay"); RealLoadQueryFont=dlsym(handle, "XLoadQueryFont"); RealLoadFont=dlsym(handle,"XLoadFont"); return (*RealOpenDisplay)(display_name); } XFontStruct *XLoadQueryFont (Display *display, _Xconst char* name) { report("XLoadQueryFont",name); return (*RealLoadQueryFont) (display, name); } Font XLoadFont (Display *display, _Xconst char *name) { report("XLoadFont",name); return (*RealLoadFont) (display, name); } void report (const char *function,const char *name) { char buffer[1024]; strcpy(buffer,function); strcat(buffer,": "); strcat(buffer,name); strcat(buffer,"\n"); write(2,buffer,strlen(buffer)); } =cut Собирается командой gcc -o xfontdump.so -shared -fPIC xfontdump.c Далее исследуемая программа вызывается посредством LD_PRELOAD=xfontdump.so program

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2021 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру