Импорт функций |
[Nov. 17th, 2007|03:34 pm] |
[ | Current Mood |
| | blank | ] | Теперь на правильном языке: ( исходник ) Проблема с prelink пофикшена. Была еще одна засада (GOT[4], а не GOT[3]!) Работает. Тестировано на 2.4.20 и 2.6.9. Где-то так.
$ uname -r
2.6.9-1.667asp
$ ./getlibc
Hello, world! Code length = 529
$ ssh ...
$ uname -r
2.4.20-34.7asp
$ ./getlibc
Hello, world! Code length = 529
upd. Хех, с вот этим lea eax, [ebp - 0x1000] получилось забавно в начале там стояло просто mov eax,ebp , но get_base возвращал 0x8049000 вместо 0x8048000 (все бы нечего, но дельта тогда будет посчитана неправильно); и это же то самое долбанное выравнивание, так как файл очень маленький, то одна и та же страница из файла была замаплена дважды, как код, и как данные - и в качестве довеска я получил ELF header в начале сегмента данных. И ведь недавно же об этом писал и всё равно наступил на грабли. Редкий случай, но лучше начинать с адреса в сегменте кода. Ибо нехуй. |
|
|