Advertisement
Guest User

Untitled

a guest
May 24th, 2017
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.12 KB | None | 0 0
  1. #define _GNU_SOURCE
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <elf.h>
  5. #include <sys/types.h>
  6. #include <search.h>
  7. #include <sys/time.h>
  8. #include "../include/libelfmaster.h"
  9.  
  10. int main(int argc, char **argv)
  11. {
  12. elfobj_t obj;
  13. elf_error_t error;
  14. struct elf_shared_object object;
  15. struct elf_shared_object_iterator so_iter;
  16.  
  17. if (argc < 2) {
  18. printf("Usage: %s <dynamic binary>\n", argv[0]);
  19. exit(EXIT_SUCCESS);
  20. }
  21.  
  22. if (elf_open_object(argv[1], &obj, false, &error) == false) {
  23. fprintf(stderr, "%s\n", elf_error_msg(&error));
  24. return -1;
  25. }
  26.  
  27. if (elf_shared_object_iterator_init(&obj, &so_iter,
  28. NULL, ELF_SO_RESOLVE_ALL_F, &error) == false) {
  29. fprintf(stderr, "elf_shared_object_iterator_init failed: %s\n",
  30. elf_error_msg(&error));
  31. return -1;
  32. }
  33. for (;;) {
  34. elf_iterator_res_t res;
  35. res = elf_shared_object_iterator_next(&so_iter, &object, &error);
  36. if (res == ELF_ITER_DONE)
  37. break;
  38. if (res == ELF_ITER_ERROR) {
  39. fprintf(stderr, "shared object iterator failed: %s\n",
  40. elf_error_msg(&error));
  41. break;
  42. }
  43. printf("%s\n", object.path);
  44. }
  45. exit(0);
  46. }
  47. elfma
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement