dc.description.abstract |
Praca dotyczy edycji dynamicznej plików wykonywalnych1 dla systemów 32/64
bit. Mimo ogromnego wzrostu technologicznego użytkownicy komputerów coraz
rzadziej skupiają się na optymalizacji kodu źródłowego oraz zarządzaniu pamięcią
komputera. Jest to niebezpieczna sytuacja, gdyż w pewnym momencie może okazać się,
że komercjalizacja oprogramowania uniemożliwia zrozumienie przyczyny problemu w
napisanym programie. Wówczas rozwiązaniem problemu będzie wyłącznie konsultacja
z firmą lub osobą fizyczną, która stworzyła konkretną bibliotekę dll2 bądź
oprogramowanie, w którym został napisany program. Jest to między innymi
spowodowane tym, że obsługa takiej pamięci wymaga posługiwania się językiem
niskiego poziomu (assemblerem), czyli kodem maszynowym procesora. Problemem
może też okazać się niska dokumentacja tego języka ze względu na różnice w
zależności od architektury procesora, na którym została napisana aplikacja oraz
trudność w posługiwaniu się nim. Złożoność nowoczesnych procesorów i podsystemów
pamięci sprawia, że efektywna optymalizacja staje się coraz trudniejsza dla
kompilatorów. Poprawienie kodu lub wyciągnięcie assetów z pisanych aplikacji jest
niezwykle trudnym zadaniem bez posiadania kodu źródłowego.
Z tego powodu powstał pomysł stworzenia projektów, które w prosty sposób
wyjaśniałyby, w jaki sposób dekompilować3 kod, jak działa język assembler4, jakie
techniki wykorzystywać w zależności od problemu i z jakiego oprogramowania
korzystać w taki sposób, żeby rozwiązanie było intuicyjne i zrozumiałe dla
współczesnego odbiorcy w różnych stopniach zaawansowania informatycznego. |
pl_PL |