(правда все ниже описанное относится только к 64 битам)
nl_table не очень надежно, если мало возможностей (вывод /proc/kallsyms отуствует, другой инфы нет).
В том смысле, что до него от хандлеров далеко, и в разных компиляциях ядра неодинаковое количество других объектов.
Наткнулся на блог одного заграничного чувака, он использовал смещение 43.
На его основе сделал свой "сплоит" (лол).
После хандлеров, везде где я видел, идут
flow_cache_genid
flow_cache_global
По смещению 43 находится число в диапазоне 0х10 000 - 0х20 000, и, самое главное, везде где я видел, число это оканчивается на "0". То есть по данному диапазону адресов размещаем в каждом "0" адресе фейковую структуру с указателем dump куда надо.
Если у кого-то факты разнятся с моими предпосылками, дайте знать)
|