Wstrzykiwanie kodu jest bardzo popularną techniką w systemie Windows. Aplikacje „wstrzykują” swój własny kod do innego działającego procesu, aby zmienić jego zachowanie. Technikę tę można wykorzystać do dobrych lub złych celów, ale w obu przypadkach może powodować niepożądane problemy. Oprogramowanie antywirusowe , takie jak oprogramowanie antywirusowe , wprowadza kod do przeglądarki Chrome , aby zmodyfikować jej zachowanie. Prowadzi to do częstszego występowania problemów z przeglądarką.
Wstrzykiwanie kodu jest również często nazywane wstrzykiwaniem DLL, ponieważ fragmenty kodu wstrzykiwane do innych procesów mają zwykle postać plików DLL - Dynamic Link Library. Jednak aplikacje mogą czasami wstrzykiwać do innego procesu również inne typy kodu, które nie są w formie plików DLL.

Do czego służy wstrzykiwanie kodu?
Wstrzykiwanie kodu służy do wykonywania wszystkich sztuczek i funkcji w systemie Windows. Wstrzykiwanie kodu jest wykorzystywane zarówno przez legalne oprogramowanie, jak i złośliwe oprogramowanie, na przykład:
- Programy antywirusowe często wstawiają skrypty do przeglądarek internetowych i wykorzystują je do monitorowania ruchu sieciowego i blokowania niebezpiecznych treści internetowych.
- Złośliwe programy mogą dodać kod do Twojej przeglądarki internetowej w celu śledzenia historii przeglądania i informacji, a następnie wykraść chronione informacje, takie jak hasła, numery kart kredytowych i zmiany, zainstalowane w Twojej przeglądarce.
- WindowBlinds firmy Stardock wstrzykuje kod modyfikujący sposób otwierania okien.
- Stardock's Fences wstrzykuje kod, aby zmienić sposób działania systemu Windows.
- AutoHotkey wstawia kody umożliwiające tworzenie skryptów i przypisywanie ogólnosystemowych skrótów klawiszowych.
- Sterowniki graficzne, takie jak NVIDIA, wysyłają pliki DLL w celu wykonywania różnych zadań związanych z grafiką.
- Niektóre programy wstawiają pliki DLL, aby dodać dodatkowe opcje do aplikacji.
- Oszuści do gier komputerowych często wprowadzają kod do gier, aby zmodyfikować ich cechy, dając oszustom nieuczciwą przewagę nad innymi graczami.
Czy wstrzykiwanie kodu jest złe?
Ta technika jest stale używana przez wiele różnych aplikacji w systemie Windows. Jest naprawdę wyjątkowy w wykonywaniu różnorodnych zadań. W porównaniu z nowoczesnymi platformami mobilnych systemów operacyjnych, takimi jak iOS firmy Apple lub Android firmy Google, system Windows jest znacznie potężniejszy, ponieważ zapewnia programistom taką elastyczność.
Oczywiście wiążą się z tym także pewne zagrożenia. Wstrzyknięcie kodu może powodować problemy i błędy w aplikacji. Google twierdzi, że użytkownicy systemu Windows korzystający z oprogramowania wstrzykującego kod do przeglądarki Chrome są o 15% bardziej narażeni na błędy w przeglądarce niż zwykle i dlatego Google pracuje nad zapobieganiem wstrzykiwaniu kodu.
Microsoft udostępnia nawet instrukcje, dzięki którym użytkownicy mogą sprawdzić, czy w programie Microsoft Outlook ładowane są pliki DLL innych firm, ponieważ pliki te będą powodować wiele problemów w programie Outlook.
Pracownik firmy Microsoft podzielił się tym problemem na blogu w 2004 roku:
Pliki DLL wstrzykiwane do innych aplikacji nigdy nie są bezpieczne, ponieważ kod nielegalnie wchodzi do procesu, który nie został zaprojektowany, zbudowany ani przetestowany przez autora tego procesu. Ryzykujesz ryzyko wystąpienia problemów z synchronizacją lub zasobami, z którymi nigdy wcześniej się nie spotkałeś, w przeciwnym razie pliki te zaostrzą istniejące problemy w aplikacji.
Innymi słowy, Code Injection to nielegalny hack. Jednakże Code Injection jest obecnie powszechną techniką stosowaną na platformie aplikacji Windows. Jest stale używany w tle systemu Windows na komputerze.
Jak sprawdzić pliki DLL, które zostały wstrzyknięte do aplikacji.
Możesz sprawdzić wstrzykiwanie kodu w swoim systemie za pomocą aplikacji Process Explorer firmy Microsoft. Zasadniczo ta aplikacja jest ulepszoną wersją Menedżera zadań wzbogaconą o niezbędne dodatkowe funkcje.
Najpierw pobierz i uruchom Process Explorer. Następnie kliknij Widok > Widok dolnego panelu > Biblioteki DLL lub naciśnij Ctrl + D.
![Co to jest wstrzykiwanie kodu w systemie Windows? Co to jest wstrzykiwanie kodu w systemie Windows?]()
Wybierz proces w górnym panelu i spójrz na poniższy panel, aby zobaczyć, które pliki DLL są ładowane. Kolumna Nazwa firmy zapewni przydatny sposób filtrowania tej listy.
Na przykład: Kiedy widzisz kilka plików DLL utworzonych przez Microsoft Corporation, jest to całkowicie normalne, ponieważ są one częścią systemu Windows. To całkowicie normalne, że pliki DLL pochodzące od firm-matek aplikacji znajdują się w tej aplikacji (np. „Google Inc” na zrzucie ekranu poniżej).
Zgodnie z poniższym obrazkiem, na tej liście możemy również znaleźć kilka plików DLL utworzonych przez „AVAST Software”. Oznacza to, że zainstalowana w systemie aplikacja antyszpiegująca Avast wstrzykuje do przeglądarki Chrome kod taki jak „biblioteka filtrów blokujących skrypty Avast”.
![Co to jest wstrzykiwanie kodu w systemie Windows? Co to jest wstrzykiwanie kodu w systemie Windows?]()
Nawet jeśli w systemie zostanie wykryta metoda wstrzykiwania kodu, niewiele możesz zrobić poza odinstalowaniem programu wstrzykującego kod, aby zapobiec powodowaniu dalszych problemów. Na przykład, jeśli Twoja przeglądarka Chrome często się zawiesza, możesz sprawdzić, czy jakieś programy wstrzykują kod do przeglądarki Chrome, a jeśli tak, odinstaluj te programy, aby zapobiec dalszemu zakłócaniu Twoich postępów.
Jak działa wstrzykiwanie kodu?
Wstrzyknięcie kodu nie ma wpływu na podstawowe aplikacje przechowywane na dysku. Zamiast tego czeka, aż aplikacja zostanie uruchomiona, a następnie wstrzykuje kod do działającego procesu, aby zmienić sposób działania tego procesu.
Jak wszyscy wiemy, system Windows zawiera szereg interfejsów programowania aplikacji (API), których można używać do wstrzykiwania kodu. Proces może przyłączyć się do procesu docelowego, przydzielić pamięć, następnie zapisać bibliotekę DLL lub inny kod w tej pamięci i poinstruować proces docelowy, aby wykonał kod. System Windows absolutnie nie zapobiega wzajemnemu zakłócaniu się procesów na komputerze.
W niektórych przypadkach ktoś może zmienić kod podstawowy na dysku, na przykład zastępując plik DLL dołączony do gry na PC innym fragmentem kodu, który został zmodyfikowany, co może oszukać oszustwo w grze lub naruszenie praw autorskich. Technicznie rzecz biorąc, nie jest to wstrzykiwanie kodu, ponieważ kod nie jest wstrzykiwany do uruchomionych procesów, ale zamiast tego proces jest oszukiwany za pomocą innego pliku DLL o tej samej nazwie.
Zobacz więcej: