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 sering 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 mencapai pelbagai 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 graf 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 tingkah laku mereka dan mendapat kelebihan yang tidak adil terhadap pemain lain.

Adakah Suntikan Kod Bad?

Teknik ini digunakan secara berterusan oleh pelbagai aplikasi pada 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 semacam 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 bekerja untuk menyekat ini. Microsoft nota bahawa suntikan kod boleh digunakan oleh aplikasi berniat jahat untuk merosakkan tetapan penyemak imbas, yang merupakan 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:

DLL injection is never safe. You’re talking about squirting code into a process that was never designed, built, or tested by the process’s author, and co-opting or creating a thread to run that code. You run the risk of creating timing, synchronization, or resource issues that weren’t there before or exacerbating issues that were there.

Dengan kata lain, suntikan kod adalah sejenis hack yang kotor. Di dunia yang ideal, akan ada cara yang lebih selamat untuk mencapai ini yang tidak menyebabkan ketidakstabilan berpotensi. Walau bagaimanapun, suntikan kod hanya sebahagian daripada platform aplikasi Windows hari ini. Ia sentiasa berlaku di latar belakang pada PC Windows anda. Anda mungkin menyebutnya kejahatan yang perlu.

Bagaimana untuk Memeriksa DLL yang disuntik

Anda boleh menyemak suntikan kod pada sistem anda dengan aplikasi Process Explorer yang kuat Microsoft. Ia pada asasnya merupakan versi canggih dari Pengurus Tugas yang dilengkapi dengan ciri-ciri tambahan.

Muat turun dan jalankan Process Explorer jika anda ingin melakukan ini. Klik Lihat> Pane Lihat 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.

Kami juga boleh melihat beberapa DLL yang dibuat oleh "Perisian AVAST" 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 mencari suntikan kod pada sistem anda-selain menyahpasang kod suntikan program untuk mengelakkannya daripada menyebabkan masalah. Contohnya, jika Chrome crash 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 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 tidak disuntik ke dalam proses yang sedang berjalan, tetapi program itu sebaliknya ditipu untuk memuatkan DLL yang berbeza dengan nama yang sama.

Tips Top:
Komen: