Apakah Suntikan Kod di Windows?
Suntikan kod biasa pada Windows. Aplikasi "menyuntik" potongan kod mereka sendiri ke dalam proses yang lain untuk mengubah suai tingkah lakunya. Teknik ini boleh digunakan untuk kebaikan atau kejahatan, tetapi sama ada ia boleh menyebabkan masalah.
Suntikan kod juga biasa dipanggil suntikan DLL kerana kod yang disuntik sering dalam bentuk fail DLL (pautan dinamik). Walau bagaimanapun, aplikasi juga boleh menyuntik kod jenis lain yang bukan DLL ke dalam proses.
Suntikan Kod Apa Digunakan Untuk
Suntikan kod digunakan untuk menyelesaikan segala macam cara dan fungsi pada Windows. Walaupun program yang sah menggunakannya, ia juga digunakan oleh perisian hasad. Sebagai contoh:
- Program antivirus sering menyuntik kod ke pelayar web. Mereka boleh menggunakannya untuk memantau lalu lintas rangkaian dan menyekat kandungan web berbahaya, contohnya.
- Program berniat jahat mungkin menambah kod pada penyemak imbas web anda untuk lebih mengesan pelayaran anda, mencuri maklumat yang dilindungi seperti kata laluan dan nombor kad kredit, dan menukar tetapan penyemak imbas anda.
- WindowBlinds Stardock, yang tema desktop anda, menyuntik kod untuk mengubah suai bagaimana tetingkap ditarik.
- Fard Stardock menyuntik kod untuk mengubah cara desktop Windows berfungsi.
- AutoHotkey, yang membolehkan anda membuat skrip dan menetapkan hotkeys seluruh sistem kepada mereka, menyuntik kod untuk mencapai ini.
- Pemacu grafik seperti NVIDIA menyuntik DLL untuk mencapai pelbagai tugas yang berkaitan dengan grafik.
- Sesetengah program menyuntik DLL untuk menambah pilihan menu tambahan kepada aplikasi.
- Alat penipuan permainan PC sering menyuntik kod ke dalam permainan untuk mengubah suai tingkah laku mereka dan mendapat kelebihan yang tidak adil terhadap pemain lain.
Adakah Suntikan Kod Bad?
Teknik ini digunakan secara berterusan oleh pelbagai aplikasi di Windows. Ini satu-satunya cara sebenar untuk mencapai pelbagai tugas. Berbanding dengan platform mudah alih moden seperti iOS Apple atau Android Google, desktop Windows begitu kuat kerana jika menawarkan fleksibiliti jenis ini kepada pemaju.
Sudah tentu, dengan semua kuasa itu datang beberapa bahaya. Suntikan kod boleh menyebabkan masalah dan bug dalam aplikasi. Google mengatakan bahawa pengguna Windows yang mempunyai kod yang disuntik ke dalam penyemak imbas Chrome mereka adalah 15% lebih mungkin mengalami kemalangan Chrome, itulah sebabnya Google sedang berusaha menyekatnya. Microsoft nota bahawa suntikan kod boleh digunakan oleh aplikasi berniat jahat untuk merosakkan dengan tetapan penyemak imbas, yang merupakan salah satu sebab ia telah disekat di Edge.
Microsoft juga menyediakan arahan untuk memeriksa sama ada DLL pihak ketiga dimuatkan dalam Microsoft Outlook, kerana ia menyebabkan banyak kemalangan Outlook.
Sebagai seorang pekerja Microsoft meletakkannya di blog pemaju dari tahun 2004:
Suntikan DLL tidak pernah selamat. Anda bercakap tentang kod squirting ke dalam proses yang tidak pernah direka, dibina, atau diuji oleh pengarang proses, dan menggabungkan atau membuat thread untuk menjalankan kod itu. Anda menghadapi risiko untuk mewujudkan masa, penyegerakan, atau isu sumber yang tidak ada sebelum ini atau memburukkan lagi isu-isu yang ada.
Dengan kata lain, suntikan kod adalah sejenis hack yang kotor. Dalam dunia yang ideal, akan ada cara yang lebih selamat untuk mencapai ini yang tidak menyebabkan ketidakstabilan yang berpotensi. Walau bagaimanapun, suntikan kod hanya sebahagian daripada platform aplikasi Windows pada hari ini. Ia sentiasa berlaku di latar belakang pada PC Windows anda. Anda mungkin menyebutnya kejahatan yang perlu.
Cara Memeriksa DLL Injected
Anda boleh menyemak suntikan kod pada sistem anda dengan aplikasi Process Explorer yang berkuasa Microsoft. Ia pada dasarnya merupakan versi canggih dari Pengurus Tugas yang dikemas dengan ciri tambahan.
Muat turun dan jalankan Process Explorer jika anda ingin melakukan ini. Klik Lihat> Lihat Pane Rendah> DLL atau tekan Ctrl + D.
Pilih proses di bahagian atas panel dan lihat di panel bawah untuk melihat DLL yang dimuatkan. Lajur "Nama Syarikat" menyediakan cara yang berguna untuk menapis senarai ini.
Sebagai contoh, ia adalah perkara biasa untuk melihat pelbagai DLL yang dibuat oleh "Microsoft Corporation" di sini, kerana ia adalah sebahagian daripada Windows. Ia juga biasa untuk melihat DLL yang dibuat oleh syarikat yang sama seperti proses yang dipersoalkan- "Google Inc." dalam kes Chrome dalam tangkapan skrin di bawah.
Kita juga boleh melihat beberapa DLL yang dibuat oleh "AVAST Software" di sini. Ini menunjukkan bahawa perisian antimalware Avast pada sistem kami menyuntik kod seperti "perpustakaan penapis Penyekat Skrip Avast" ke dalam Chrome.
Tidak banyak yang boleh anda lakukan jika anda mendapati suntikan kod pada sistem anda-selain menyahpasang kod suntikan program untuk mencegahnya daripada menyebabkan masalah. Contohnya, jika Chrome terhempas secara teratur, anda mungkin mahu melihat sama ada terdapat sebarang program menyuntik kod ke dalam Chrome dan menyahpasangnya untuk mengelakkan mereka daripada mengganggu proses Chrome.
Bagaimana Suntikan Kod Kerja?
Suntikan kod tidak mengubah suai aplikasi asas pada cakera anda. Sebaliknya, ia menunggu permohonan itu dijalankan dan ia menyuntik kod tambahan ke dalam proses yang berjalan untuk mengubah cara berfungsi.
Windows termasuk pelbagai antara muka pengaturcaraan aplikasi (API) yang boleh digunakan untuk suntikan kod. Proses boleh melekat pada proses sasaran, memperuntukkan memori, menulis DLL atau kod lain ke memori itu, dan kemudian mengarahkan proses sasaran untuk melaksanakan kod tersebut. Windows tidak menghalang proses pada komputer anda daripada mengganggu satu sama lain seperti ini.
Untuk maklumat teknikal yang lebih lanjut, semak postingan blog ini menerangkan bagaimana pemaju boleh menyuntik DLL dan melihat jenis suntikan kod lain pada Windows.
Dalam sesetengah kes, seseorang mungkin mengubah kod dasar pada cakera-contohnya, dengan menggantikan fail DLL yang datang dengan permainan PC dengan satu yang diubah suai untuk membolehkan penipuan atau cetak rompak. Ini secara teknikal bukan "suntikan kod." Kod ini tidak disuntik ke dalam proses yang sedang berjalan, tetapi program itu sebaliknya ditipu untuk memuat DLL yang berbeza dengan nama yang sama.
Kredit Imej: Lukatme / Shutterstock.com.