2016-06-26 4 views
0

helloworld.c:.Как отлаживать программу, связывающую определенную версию разделяемой библиотеки?

int main(){} 

[1] 9845 запрещенная команда аппаратных средств (ядро сбрасывали) LD_PRELOAD =/libc.so.6 ./helloworld

Это преднагрузки Libc старая версия Glibc

Можно ли отладить helloworld, связав его с моей системой?

Или существует быстрый способ развертывания виртуальной машины с конкретной версией разделяемых библиотек?

ответ

0

Можно ли отладить helloworld, связав его с моей системой?

Да, но вам нужно сделать это правильно. This answer содержит подробную информацию и объяснение причин, по которым ваш LD_PRELOAD не работал.

+0

chroot решил мою проблему, большое вам спасибо! –

0
  • С вашего поста я мог видеть ядро ​​POC для захоронения. Поэтому лучше использовать gdb для анализа coredump и увидеть аварийный столбец. Убедитесь, что вы загрузили правильный libc в gdb, анализируя coredump.
  • Else use LD_DEBUG = all перед вызовом POC и посмотреть, не сработали ли какие-либо указатели, просмотрев детали во время выполнения.
+0

Извините, что ввел вас в заблуждение. POC-демпинговое ядро? Нет. Я побежал уязвимым. Я не управлял POC. И я просто понимаю, что это вовсе не о POC. Я обновил свой пост. Спасибо! –