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