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


ru.nethack

 
 - RU.NETHACK -------------------------------------------------------------------
 From : Anton Kovalenko                      2:5020/400     08 Jun 2003  04:11:48
 To : Sergey Akhramenya
 Subject : Re: ngsec #1
 -------------------------------------------------------------------------------- 
 
 >>>>> Sergey Akhramenya writes:
 
     AK>> 2) исходник Хэкерской Проги, с помощью которой проходится l9,
     AK>> я сюда кидал. Hадо только правильно его применить.
     SA>     А при чем здесь l9? Я же спросил про l10.
 
 Hу опечатался я. Впрочем, l9 с помощью неё тоже проходится :-)
 
     AK>> 3) для решения "без линукса" правильная мысль будет другая.
     AK>> Я её не знаю.
     SA>     Да нафиг мне без линукса. Что я, зря его ставил? ;)))
 
 Тогда можно почитать man ld.so
 
     SA>     ЗЫ  (через 10 минут  лазанья по фидобазе  :)) Антон,
     SA> забей  на всё, что я тута  написАл. Действительно, нужно
     SA> быть  более чем просто  знакомым с линухом,  чтобы найти
     SA> путь решения этой  задачи... У меня только ма-а-аленькая
     SA>  просьба :)  Hе  объяснишь  ли ты  мне,  что есть  такое
     SA> LD_PRELOAD?
 
 Большинство программ в Линуксе используют для работы динамические
 библиотеки.. Скажем, пользуется твоя программа функцией printf() --
 и линкер заносит в бинарник этой программы информацию:
 
   *) Что твоя программа хочет функцию printf()
   *) Что твоя программа хочет библиотеку libc.so.6
 
 При  этом две  этих  "хотелки" совершенно  независимы (то  есть,
 прямого  указания  на то,  что  printf()  надо  взять именно  из
 libc.so.6, в бинарнике нету). С этим и связана возможность использования
 LD_PRELOAD для подмены любой функции, которую программа ожидает найти
 в динамических библиотеках.
 
 Мы можем написать свою реализацию функции, скажем, printf(), положить её
 в файл myprintf.c, затем сделать так:
 
    gcc -shared -o myprintf.so myprintf.c
 
 (получили "библиотечку" myprintf.so с подменённой функцией)
 
 А затем, при запуске
 
    LD_PRELOAD=./myprintf.so ./HекаяХрень
 
 все  вызовы printf() из  программы ./HекаяХрень  заворачиваются на
 наш подменённый printf.
 
 Hу всё, пожалуй. Как это применить к strcmp и как воспользоваться
 возможностью перехвата, ты и сам догадаешься.
 
 -- 
 Удачи!
       Антон Коваленко   /* kovalenko.webzone.ru */
 --- ifmail v.2.15dev5
  * Origin: Anton's home (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 Re: ngsec #1   Anton Kovalenko   08 Jun 2003 04:11:48 
 ngsec #1   Sergey Akhramenya   08 Jun 2003 11:46:29 
Архивное /ru.nethack/4488e7e18e23.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional