Advertisement
Guest User

Untitled

a guest
Mar 20th, 2019
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.56 KB | None | 0 0
  1. Dobrý večer,
  2.  
  3. posielam body 1. - 7. z prvej domácej úlohy.
  4.  
  5. 1.) Problem vznikol pri dekorácií mien, hlavičkový súbor file1.h je
  6. prekladaný ako c súbor, čiže nerieši dekoráciu mien, kdežto file3.cpp je
  7. c++ súbor kde pri prekladaní sa využíva dekorácia mien. V tomto prípade
  8. sa dá file1.h povedať že ak bude súčastou c++ súboru, tak pri časti kódu
  9. kde sú definované funkcie File1_Funkce1 sa budú linkovať c++ konvenciou.
  10.  
  11. 2.) Z tabuľky direktív, funkcie sú tam označené na export.
  12.  
  13. 3.) Rozdiel medzi nimi je kde majú uložené ktoré funkcie importujú z
  14. objektov file1.obj a file2.obj. Kým knižnica knihovna.lib má tieto
  15. informácie uložené v hlavičke ( k tým funkciam sa dostane preto lebo sú
  16. v exportnej tabuľke v súbore knihovna.dll ) , tak knižnica
  17. knihovna_static.lib ich má uložené v tabuľke symbolov.
  18.  
  19. 4. ) V importnej tabuľke file3.exe je popis čo z knižnice DLL sa má
  20. importovať.
  21.  
  22. 5.) Knižnica knihovna.dll môže byť umiestnená hocikde ak je tá lokácia
  23. špecifikovaná cez SetDefaultDllDirectories s určitým parametrom.
  24. Praktické dôsledky sú napríklad aktualizácia knižnice, pri update nám
  25. stačí prepísať súbory v aktuálnom adresári kde sa nachádza náš program.
  26. Bezpečné to ale nie je vždy ako v prípade indirect dll hijacking, ako v
  27. prípade zranitelnosti putty.
  28.  
  29. 6.) viz priložený súbor
  30.  
  31. 7.) Program nevie nájsť entry point v dll, aj ked v headers v importnej
  32. kniznice su funkcie zapisane, tak v dll nie su definované.
  33.  
  34.  
  35. S pozdravom
  36.  
  37. Martin Šutovský
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement