Mã tiêm trên Windows là gì?

Mục lục:

Mã tiêm trên Windows là gì?
Mã tiêm trên Windows là gì?

Video: Mã tiêm trên Windows là gì?

Video: Mã tiêm trên Windows là gì?
Video: Cách Ẩn Ứng Dụng Trên Điện Thoại iPhone Đơn Giản | Tân tivi - YouTube 2024, Tháng tư
Anonim
Mã tiêm là phổ biến trên Windows. Các ứng dụng “tiêm” các đoạn mã riêng của chúng vào một tiến trình đang chạy khác để thay đổi hành vi của nó. Kỹ thuật này có thể được sử dụng cho tốt hay xấu, nhưng dù bằng cách nào nó cũng có thể gây ra vấn đề.
Mã tiêm là phổ biến trên Windows. Các ứng dụng “tiêm” các đoạn mã riêng của chúng vào một tiến trình đang chạy khác để thay đổi hành vi của nó. Kỹ thuật này có thể được sử dụng cho tốt hay xấu, nhưng dù bằng cách nào nó cũng có thể gây ra vấn đề.

Mã tiêm cũng thường được gọi là tiêm DLL vì mã tiêm thường ở dạng tập tin DLL (thư viện liên kết động). Tuy nhiên, các ứng dụng cũng có thể tiêm các loại mã khác không phải là các tệp DLL vào một quy trình.

Những gì Code Injection được sử dụng cho

Mã tiêm được sử dụng để thực hiện tất cả các loại thủ thuật và chức năng trên Windows. Trong khi các chương trình hợp pháp sử dụng nó, nó cũng được phần mềm độc hại sử dụng. Ví dụ:

  • Các chương trình diệt vi-rút thường chèn mã vào trình duyệt web. Họ có thể sử dụng nó để giám sát lưu lượng mạng và chặn nội dung web nguy hiểm, ví dụ.
  • Các chương trình độc hại có thể thêm mã vào trình duyệt web của bạn để theo dõi duyệt web của bạn tốt hơn, ăn cắp thông tin được bảo vệ như mật khẩu và số thẻ tín dụng và thay đổi cài đặt trình duyệt của bạn.
  • WindowBlinds của Stardock, chủ đề của máy tính để bàn của bạn, tiêm mã để sửa đổi cách cửa sổ được vẽ.
  • Hàng rào của Stardock tiêm mã để thay đổi cách thức hoạt động của Windows.
  • AutoHotkey, cho phép bạn tạo các tập lệnh và gán các phím nóng trên toàn hệ thống cho chúng, chèn mã để thực hiện việc này.
  • Trình điều khiển đồ họa giống như các tệp DLL của NVIDIA để thực hiện nhiều tác vụ liên quan đến đồ họa.
  • Một số chương trình tiêm DLL để thêm các tùy chọn menu bổ sung vào một ứng dụng.
  • Công cụ gian lận trò chơi trên PC thường đưa mã vào trò chơi để sửa đổi hành vi của họ và giành được lợi thế không công bằng so với những người chơi khác.

Là tiêm mã Bad?

Kỹ thuật này được sử dụng liên tục bởi nhiều ứng dụng khác nhau trên Windows. Đó là cách thực sự duy nhất để thực hiện nhiều tác vụ khác nhau. So với một nền tảng di động hiện đại như iOS của Apple hoặc Android của Google, màn hình nền Windows rất mạnh mẽ vì nếu cung cấp tính linh hoạt này cho nhà phát triển.

Tất nhiên, với tất cả sức mạnh đó có một số nguy hiểm. Việc tiêm mã có thể gây ra sự cố và lỗi trong ứng dụng. Google cho biết người dùng Windows có mã được tiêm vào trình duyệt Chrome của họ có khả năng gặp phải sự cố Chrome nhiều hơn 15%, đó là lý do Google đang nỗ lực chặn việc này. Microsoft lưu ý rằng các ứng dụng độc hại có thể sử dụng tính năng tiêm mã để làm xáo trộn cài đặt trình duyệt, đó là một lý do khiến tính năng này đã bị chặn trong Edge.

Microsoft thậm chí còn cung cấp hướng dẫn để kiểm tra xem các tệp DLL của bên thứ ba có được tải trong Microsoft Outlook hay không vì chúng gây ra rất nhiều sự cố trong Outlook.

Là một nhân viên của Microsoft đưa nó vào một blog của nhà phát triển từ năm 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.

Nói cách khác, việc tiêm mã là loại hack bẩn. Trong một thế giới lý tưởng, sẽ có một cách an toàn hơn để thực hiện điều này không gây ra bất ổn tiềm năng. Tuy nhiên, việc tiêm mã chỉ là một phần bình thường của nền tảng ứng dụng Windows ngày nay. Nó liên tục xảy ra trong nền trên PC Windows của bạn. Bạn có thể gọi nó là một điều ác cần thiết.

Cách kiểm tra DLL đã được tiêm

Bạn có thể kiểm tra việc tiêm mã trên hệ thống của mình bằng ứng dụng Process Explorer mạnh mẽ của Microsoft. Về cơ bản, đây là phiên bản nâng cao của Trình quản lý tác vụ được đóng gói với các tính năng bổ sung.

Tải xuống và chạy Process Explorer nếu bạn muốn thực hiện việc này. Nhấp vào View> Lower Pane View> DLLs hoặc nhấn Ctrl + D.

Chọn một quá trình trong ngăn trên cùng và nhìn vào khung bên dưới để xem các tệp DLL được tải. Cột “Tên công ty” cung cấp một cách hữu ích để lọc danh sách này.
Chọn một quá trình trong ngăn trên cùng và nhìn vào khung bên dưới để xem các tệp DLL được tải. Cột “Tên công ty” cung cấp một cách hữu ích để lọc danh sách này.

Ví dụ: bình thường khi thấy một loạt các tệp DLL được tạo bởi “Tập đoàn Microsoft” tại đây, vì chúng là một phần của Windows. Việc xem các tệp DLL do cùng một công ty thực hiện như quy trình được đề cập - “Google Inc.” trong trường hợp của Chrome trong ảnh chụp màn hình bên dưới là điều bình thường.

Chúng tôi cũng có thể phát hiện một vài DLL được tạo bởi “Phần mềm AVAST” tại đây. Điều này cho thấy phần mềm chống phần mềm gián điệp Avast trên hệ thống của chúng tôi đang tiêm mã như "thư viện bộ lọc chặn Avast" vào Chrome.

Bạn không thể làm gì nhiều nếu bạn tìm thấy mã tiêm trên hệ thống của mình - ngoài việc gỡ cài đặt chương trình tiêm chích mã chương trình để ngăn không cho nó gây ra sự cố. Ví dụ: nếu Chrome gặp sự cố thường xuyên, bạn có thể muốn xem có chương trình nào đang tiêm mã vào Chrome và gỡ cài đặt chúng để ngăn chúng can thiệp vào quy trình của Chrome hay không.
Bạn không thể làm gì nhiều nếu bạn tìm thấy mã tiêm trên hệ thống của mình - ngoài việc gỡ cài đặt chương trình tiêm chích mã chương trình để ngăn không cho nó gây ra sự cố. Ví dụ: nếu Chrome gặp sự cố thường xuyên, bạn có thể muốn xem có chương trình nào đang tiêm mã vào Chrome và gỡ cài đặt chúng để ngăn chúng can thiệp vào quy trình của Chrome hay không.

Mã tiêm hoạt động như thế nào?

Tính năng ép mã không sửa đổi ứng dụng cơ bản trên đĩa của bạn. Thay vào đó, nó chờ cho ứng dụng đó chạy và nó chèn thêm mã vào quy trình đang chạy đó để thay đổi cách nó hoạt động.

Windows bao gồm một loạt các giao diện lập trình ứng dụng (API) có thể được sử dụng để tiêm mã. Một quá trình có thể tự gắn nó vào một quá trình đích, cấp phát bộ nhớ, viết một DLL hoặc mã khác vào bộ nhớ đó, và sau đó hướng dẫn quá trình đích thực thi mã. Windows không ngăn các quá trình trên máy tính của bạn can thiệp vào nhau như thế này.

Để biết thêm thông tin kỹ thuật, hãy xem bài đăng trên blog này giải thích cách các nhà phát triển có thể tiêm các tệp DLL và xem xét các loại mã tiêm khác trên Windows.

Trong một số trường hợp, ai đó có thể thay đổi mã cơ bản trên đĩa - ví dụ: bằng cách thay thế tệp DLL đi kèm với trò chơi trên PC bằng trò chơi được sửa đổi để cho phép gian lận hoặc vi phạm bản quyền.Về mặt kỹ thuật, đây không phải là "mã tiêm". Mã này không được đưa vào quy trình đang chạy, nhưng thay vào đó chương trình này lại bị lừa tải một DLL khác có cùng tên.

Đề xuất: