Ręczne generowanie zrzutu rdzenia elfa

Szukam ręcznego generowania pliku zrzutu głównego ELF.

Mam zrzut pamięci RAM z mojego programu i mogę również pobrać informacje o rejestrach i tak dalej.

Z tymi danymi chciałbym zbudować plik zrzutu rdzenia ELF, podobny do generowanego przez jądro Linuksa podczas awarii programu, celem byłoby przeanalizowanie tego zrzutu pamięci za pomocą GDB specjalnie dla mojej platformy.

Szukałem specyfikacji zrzutu pamięci lub szczegółowego formatu, ale nie znalazłem tego, czego chciałem:

Jakich sekcji wymaga mój plik zrzutu pamięci?Jak są zorganizowane w kontener ELF?Jak przejść od zrzutu pamięci binarnej RAM (+ wartości rejestrów) do pliku zrzutu pamięci jak plik.

To musi być najlepiej wykonane w C, myślałem, że mogę użyćlibelf biblioteka, która pomoże mi zbudować plik, ale nie znalazłem istotnych informacji na temat tego, co należy umieścić w tym pliku, iw jakim formacie, więc wszelkie wskazówki, linki lub porady są mile widziane.

Uwaga: Nie chodzi o podnoszenie wyjątków i wykonywanie zadań przez jądro, mogę to zrobić, ale naprawdę muszę zebrać pamięć RAM i ręcznie zarejestrować dane w zrzucie rdzenia elfa.

Dzięki !

questionAnswers(1)

yourAnswerToTheQuestion