VDSO |
[Apr. 11th, 2007|06:17 pm] |
|
|
|
Comments: |
| | вопрос человека в linux'ax вообще не плавающего ;) | (Link) |
|
А какое ядро для этого надо? 2.6.х+? Или это чисто usermod'ная фича? (А можно вообще сделать универсальный кол, что бы и под Linux'aми и под FreeBSD работал ;)
From: | t1mreh@lj |
Date: | April 11th, 2007 - 10:55 am |
---|
| | Re: вопрос человека в linux'ax вообще не плавающего ;) | (Link) |
|
2.5.5?+ там много чего менялось и фиксилось, к примеру sysctl -w kernel.vdso=1 на 2.6.9, приводил к крешу, на 2.6.12 уже нормально. правда, у меня ядра патченные-перепатченные, так что не сразу и разберешься с версиями...
по поводу более старых ядер, выход прост - mov [old_syscall], 0x90c380cd / call get_vsyscall / or eax,eax / jnz .gotit / mov eax, old_syscall / .gotit: ...
а универсальный сискол, тоже ничего страшного, на этапе заражения сохраняем EI_OSABI жертвы (ну, не совсем так Ж;-), но где-то рядом) в тушке, а дальше таблицы, таблицы... можно и в рантайме, но муторно.
| |