Kernel mode là gì


*
*


*
*

*

*
*
Lưu Ý Lúc Phân Tích Ứng Dụng Windows (Phần cuối)
*
*
Lưu Ý khi Phân Tích Ứng Dụng Windows (Phần cuối)

Khép lại chủ thể Những để ý Khi so với vận dụng Window chuyên gia bình an mạng Nguyễn Việt Anh liên tục gửi đến chúng ta phần nhiều chú ý khi phân tích: Các luồng các bước, Phối hận đúng theo nhiều quá trình với những Mutex, Các Service, Mô hình COM (Component Object Model), Kernel Mode và User Mode, Native sầu API vào nội dung bài viết sau đây.

Bạn đang xem: Kernel mode là gì

Các luồng tiến trình

Tiến trình được xem như là vỏ quấn cất trình thực hiện, những luồng các bước mới chính là vật dụng được thực hiện vị Windows OS. Luồng các bước là các chuỗi độc lập đựng lệnh được tiến hành bởi CPU, những luồng là tuy vậy tuy vậy, không luồng nào yêu cầu đợi luồng làm sao. Một quá trình bao gồm một hoặc những luồng, từng luồng tiến hành một phần code trong các bước. Các luồng vào cùng một tiến trình share và một không khí bộ lưu trữ nhưng lại từng luồng được cấp phát phần đông tkhô nóng ghi với staông chồng riêng biệt.

Thread context

Khi một luồng được chạy, nó có toàn quyền điều khiển CPU hoặc nhân CPU, các luồng khác sẽ không còn thể can thiệp vào tâm lý CPU/nhân CPU vào thời điểm này. Khi một luồng thay đổi quý hiếm của một thanh ghi CPU, nó sẽ không còn có tác dụng tác động tới những luồng không giống. Trước trên đây, lúc OS chưa tồn tại nguyên lý làm chủ luồng tác dụng, các cực hiếm vào CPU được lưu lại trong một cấu trúc tài liệu call là thread context. OS tiếp đến vẫn hấp thụ thread context của luồng bắt đầu vào CPU cùng tiến hành luồng mới kia.

*

Một ví dụ truy cập một vươn lên là toàn bộ với push nó vào stack. Lệnh lea trên 0x004010DE truy cập trở nên esp+58h và giữ nó vào EDX, tiếp đến push EDX vào staông chồng. Nếu một luồng khác tiến hành code giữa nhì lệnh bên trên, mà code đó lại thao tác bên trên EDX thì giá trị EDX so với luồng ban sơ vẫn không nên với luồng lúc đầu của ta vẫn không còn chạy đúng nữa. khi thực hiện hiệ tượng gửi thân những thread context, giả dụ một luồng không giống chạy xen thân nhì lệnh này, quý giá của EDX đã được lưu lại vào thread context với Lúc luồng ban sơ tiến hành đến lệnh push (trên 0x004010E2), thread context của chính nó sẽ được khôi phục với EDX được phục sinh quý giá đúng với cái giá trị thuở đầu của chính nó sau lệnh lea (tại 0x004010DE), nhờ vào đó mà ko luồng làm sao rất có thể khiến xung bỗng dưng tkhô cứng ghi cùng cờ cùng với những luồng khác.

Tạo một luồng

Hàm CreateThread được dùng để làm sinh sản một luồng new. Hàm Điện thoại tư vấn đến đã hướng dẫn và chỉ định địa chỉ bước đầu, hay là chỉ định bởi hàm start. Code thực hiện đang ban đầu tại khu vực bắt đầu cùng chạy cho tới Khi hàm trả về; nếu như luồng thực thi ko yêu cầu trả về, nó sẽ chạy cho tới khi hoàn thành quá trình. khi so với code Điện thoại tư vấn đến hàm CreateThread, ta cần so với cả hàm start nhằm và toàn cục phần code của hàm điện thoại tư vấn cho CreateThread.

Mã độc hoàn toàn có thể sử dụng hàm CreateThread theo rất nhiều cách thức, chẳng hạn:

Sử dụng CreateThread để hấp thụ một thư viện ô nhiễm vào trong 1 quá trình, với lời Điện thoại tư vấn hàm CreateThread cùng liên can ban đầu là hệ trọng của LoadLibrary. Tsay đắm số truyền vào CreateThread là tên gọi của tlỗi viện mong hấp thụ. DLL new được hấp thụ vào bộ nhớ lưu trữ của các bước với hàm DllMain được Điện thoại tư vấn.Tạo nhị luồng bắt đầu mang lại dữ liệu vào và dữ liệu ra: Một luồng lắng nghe trên một socket hoặc pipe stream (kênh pipe), tài liệu ra của luồng được truyền có tác dụng tài liệu vào của tiến trình; một luồng đọc tự tài liệu ra chuẩn của quá trình và gửi chúng cho tới socket hoặc pipe stream. Mục đích của mã độc là gửi những dữ liệu vào cùng một socket hoặc một pipe stream nhằm rất có thể truyền thông media liên tiếp cùng với vận dụng đang làm việc. Minch họa mang lại kỹ thuật này sinh hoạt hình dưới.

*

Ta xác minh nhì lời gọi hàm CreateThread sát nhau. Tmê man số nguồn vào của nhị hàm này là những quý giá lpStartAddress (0x004016F9 với 0x0040171E), ta có thể quan sát vào các giá trị này để biết đoạn code như thế nào sẽ tiến hành Hotline cho đến khi nhị luồng này triển khai. Để xác định mục đích của hai luồng này, ta chuyển nhắm đến ThreadFunction1 trước. Hàm triển khai của luồng thứ nhất thực hiện một vòng lặp trong những số ấy gọi hàm ReadFile nhằm phát âm xuất phát từ 1 kênh pipe, tiếp đến chuyển sang làn đường khác tài liệu cổng đầu ra của ReadFile vào một socket với lệnh send.

*

Hàm tiến hành của luồng sản phẩm nhị thực hiện một vòng lặp Điện thoại tư vấn hàm recv để đọc rất nhiều tài liệu truyền qua mạng và chuyển hướng dữ liệu với một kênh pipe bằng hàm WriteFile.

*

Ngoài những luồng, Microsoft còn thực hiện những fiber. Fiber tương tự như luồng, tuy vậy nắm vì chưng được cai quản vì chưng OS, chúng được cai quản bởi các luồng. Các fiber cùng chia sẻ một thread context.

Pân hận đúng theo nhiều các bước cùng với các Mutex

Mutex ( trong UM), giống như Mutant ( vào KM), là những đối tượng người tiêu dùng tổng thể (global object) giúp phối kết hợp đa quá trình cùng nhiều luồng.

Các mutext được thực hiện chủ yếu để điều khiển truy vấn cho tới các tài nguyên ổn dùng thông thường, chúng cũng thường xuyên bị mã độc lợi dụng. lấy một ví dụ, trường hợp nhì luồng thuộc muốn truy cập tới một cấu tạo nhớ, nhưng lại trên 1 thời lăn tay bao gồm một luồng được phxay truy cập tới cấu tạo ghi nhớ đó, một mutex hoàn toàn có thể làm chủ nhị truy cập này.

Đối với 1 mutex, trên một thời lăn tay tất cả một luồng được tải nó. Các mutex khá đặc trưng đối với chuyên gia so với mã độc do chúng hay thực hiện tên được hard-coded, sẽ là những dấu hiệu hữu ích. Các mutex đề nghị thực hiện tên được hard-coded vị tên mutex cần thống tuyệt nhất giả dụ mutex đó được áp dụng bình thường vị hai tiến trình nhưng mà nhị quy trình này lại không tiếp xúc với nhau trải qua bất kể tuyến đường làm sao khác.

Một luồng đạt quyền truy cập cho tới một mutex bằng phương pháp gọi hàm WaitForSingleObject, toàn bộ các luồng đến sau ao ước truy cập tới mutex kia thì sẽ cần hóng. Khi một luồng thực hiện hoàn thành một mutex, nó phải call hàm ReleaseMutex để giải pđợi mutex.

Một mutex có thể được tạo với hàm CreateMutex. Một quy trình hoàn toàn có thể mang handle tự mutex của một quy trình khác thông qua lời Điện thoại tư vấn hàm OpenMutex. Mã độc thường xuyên tạo ra một mutex cùng hotline một mutex với tên của mutex vừa sản xuất nhằm chắc chắn rằng rằng chỉ gồm một phiên bản chủng loại của mã độc này được chạy vào 1 thời điểm.

*

Trong ví dụ, mã độc áp dụng một mutex có tên hard-coded là HGL345. Trước hết nó Gọi hàm OpenMutex để chất vấn coi hệ thống vẫn trường tồn mutex có tên HGL345 không (loại 0x0040100C). Nếu cực hiếm trả về của hàm OpenMutex là NULL (0x00401012), nó sẽ khiêu vũ qua đoạn code tiếp sau (short loc_40101E) để thường xuyên thực thi. Nếu quý hiếm hàm OpenMutex khác NULL, mã độc call hàm exit để né (0x00401018).

Trong đoạn code shot loc_40101E, mã độc chế tác một mutex cùng với tên HGL345 (cái 0x00401027) nhằm bảo đảm bất kể bạn dạng mẫu làm sao không giống của chính nó cũng trở thành bay Khi chúng chạy tới đoạn code trong ví dụ này.

Các Service

Một cách không giống để mã độc xúc tiến code bổ sung cập nhật là cài đặt chính nó nlỗi một hình thức dịch vụ – service. Windows cung cấp phép tắc có thể chấp nhận được những tác vụ chạy nhưng mà ko một buộc phải quá trình giỏi luồng nào bằng phương pháp sử dụng những service như những vận dụng chạy ngầm; code được lập kế hoạch với thực thi đằng sau sự quản lý của Windows Service Manager.

Việc thực hiện service mang lại nhiều dễ dàng cho tất cả những người viết mã độc. Các service hay chạy với quyền SYSTEM hoặc các độc quyền tựa như. Với quyền SYSTEM, mã độc tất cả toàn quyền tinh chỉnh và điều khiển với mọi tệp tin bên trên một phân vùng NTFS. Các service cũng hỗ trợ một cách giỏi nhằm mã độc đậy giấu với duy trì sự sống thọ của bản thân vào hệ thống bởi vì chúng có thể được thiết lập từ bỏ khởi hễ cùng OS cùng có thể không giữ lại dấu tích bên trên Task Manager nlỗi các quy trình.

Để thu thập công bố về các service đang chạy, ta rất có thể sử dụng Autoruns trong bộ nguyên tắc SysInternal Suite.

*

Các service có thể được setup và làm chủ vị các hàm Windows API:

OpenSCManager Trả về một handle cho tới trình cai quản điều khiển service (service control manager – SCM), handle này có thể được dùng mang đến đa số lời call hàm sau đây liên quan đến service. Mọi nhiều loại code cửa hàng với các service đa số đề xuất Điện thoại tư vấn hàm này.

CreateService Thêm một service vào trình quản lý điều khiển service, được cho phép hàm điện thoại tư vấn mang lại hướng dẫn và chỉ định service từ bỏ khởi đụng cùng hệ thống hoặc khởi cồn thủ công bằng tay.

StartService Khởi đụng một service, hàm này chỉ được thực hiện Lúc service được thiết đặt khởi động bằng tay thủ công.

Windows hỗ trợ một số dạng service khác biệt, triển khai theo những bí quyết không giống nhau. Phổ vươn lên là độc nhất so với mã độc là service dạng WIN32_SHARE_PROCESS, service dạng này tàng trữ code trong một DLL với kết hợp một vài service khác nhau vào cùng một quy trình cần sử dụng thông thường. Trong Task Manager, ta rất có thể kiếm tìm thấy những quy trình có tên svchost.exe cộ, đó là mọi các bước chạy các service WIN32_SHARE_PROCESS.

Service mẫu mã WIN32_OWN_PROCESS cũng thường xuyên được sử dụng, bọn chúng lưu code thực thi trên một tệp tin .exe cùng được chạgiống hệt như một quy trình hòa bình.

Loại service thông dụng ở đầu cuối là KERNEL_DRIVER, được áp dụng nhằm hấp thụ code xúc tiến vào kernel.

Thông tin về những service trên một máy local được giữ vào registry. Mỗi service gồm một subkey trong HKLMSYSTEMCurrentControlSetServices. Ví dụ sau minh họa cho các registry entry của HKLMSYSTEMCurrentControlSetServicesVMware Physical Disk Helper Service.

*

Code xúc tiến của service VMware Physical Disk Helper được giữ trong C:Program FilesVMwareVMware Toolsvmacthlp.exe pháo. Giá trị kiểu service (Type) là 0x10, ứng cùng với WIN32_OWN_PROCESS với giá trị các loại khởi rượu cồn (Start) là 0x02 khớp ứng cùng với AUTO_START.

Xem thêm: Top 10 Game Đồ Họa Khủng Cho Android Và Ios, 10 Game Mobile Có Đồ Hoạ Đẹp Nhất Hiện Nay

Công rứa SC tích đúng theo sẵn vào Windows cung ứng ta tìm hiểu với quản lý những service. Công chũm này bao hàm các lệnh nhằm thêm, xóa, khởi rượu cồn, ngừng cùng truy hỏi vấn các service. lấy ví dụ, lệnh qc cho phép truy tìm vấn những tùy chọn cấu hình của một service bằng phương pháp truy vấn tới những ban bố trong registry tương tự như minc ví dụ phía trên, tuy nhiên hiển thị chúng ngơi nghỉ dạng đọc dễ dàng hơn.

*

Mô hình COM (Component Object Model)

COM là một trong chuẩn hình ảnh góp các yếu tắc ứng dụng khác nhau rất có thể call tới code của nhau mà lại ko nên biết về nhau. Lúc phân tích các mã độc áp dụng COM, ta buộc phải xác minh đoạn code nào được chạy bắt nguồn từ một lời Gọi hàm COM.

COM vận động với toàn bộ những ngôn ngữ lập trình với được thiết kế theo phong cách để hỗ trợ những thành phần phần mềm tái thực hiện được với tất cả lịch trình. COM áp dụng một phong cách thiết kế đối tượng người sử dụng vận động đặc biệt quan trọng tốt cùng với các ngữ điệu thiết kế hướng đối tượng người tiêu dùng (nhưng nó không chỉ xây đắp giành cho những ngôn ngữ phía đối tượng). Nói một giải pháp dễ nắm bắt hơn thì COM là một bối cảnh đứng trung tâm (giống hệt như một thông ngôn viên) khiến cho 2 components viết bằng 2 ngôn từ không giống nhau rất có thể phát âm nhau.

Do tính linch hoạt của bản thân, COM thịnh hành vào cả OS với các vận dụng của Microsoft cũng tương tự phần mềm của mặt sản phẩm công nghệ tía. Mã độc sử dụng COM đã trngơi nghỉ đề nghị cạnh tranh so sánh.

COM được tiến hành bên dưới vẻ ngoài client/VPS framework. Các client là đa số lịch trình tận dụng tối đa các COM object, còn server là các yếu tố phần mềm tái thực hiện được (xuất xắc đó là những COM object). Microsoft cung cấp số lượng mập những COM object để các chương trình áp dụng.

Mỗi thread áp dụng COM phần đa nên hotline hàm OleInitialize hoặc hàm CoInitializeEx tối thiểu một đợt trước khi Hotline bất cứ hàm tlỗi viện COM như thế nào khác. Chulặng gia so với mã độc có thể tìm kiếm kiếm nhị hàm này nhằm xác minh lúc nào một công tác áp dụng COM. Tuy nhiên, ngay cả Lúc vẫn biết một dạng hình độc sử dụng một COM object nlỗi là một trong những client, ta cũng ko có rất nhiều thông tin hữu ích vày các COM object hết sức nhiều mẫu mã cùng phổ biến. Một Lúc đang xác định được lịch trình thực hiện COM, ta bắt buộc tìm thấy những báo cáo nhấn dạng object được thực hiện nhằm thường xuyên đối chiếu.

Trong phần này còn những có mang tôi còn chưa kịp trình diễn trong mục này (CLSID, IID, Cách sử dụng COM Object…). Xin hẹn các bạn vào 1 bài sau.

Kernel Mode với User Mode

Windows hỗ trợ nhị nấc quyền truy vấn cỗ vi xử trí là kernel mode và user mode. Tất cả những hàm sẽ nhắc ở đoạn trước đa số là những hàm user mode mà lại vào kernel mode, đông đảo sản phẩm công nghệ diễn ra theo vẻ ngoài tương tự như.

Gần như rất nhiều một số loại code đều chạy vào user mode, bên cạnh OS cùng những driver Hartware (các tệp tin .sys trong C:WindowsSystem32drivers) chạy trong kernel mode. Trong user mode, mỗi process cài không khí bộ lưu trữ riêng, tài nguyên với quyền truy vấn riêng. Nếu một lịch trình user mode thực thi một lệnh không phù hợp lệ cùng bị crash, Windows hoàn toàn có thể tịch thu gần như tài nguyên và xong công tác kia.

Thường thì lịch trình user mode chẳng thể truy vấn trực tiếp cho tới những vật dụng phần cứng, và bọn chúng bị giới hạn với cùng 1 tập bé vào toàn bộ những thanh khô ghi và lệnh vi giải pháp xử lý. Để cai quản Hartware và chuyển đổi trạng thái kernel mode Khi đang làm việc user mode, ta buộc phải nhờ vào những Windows API.

Lúc ta gọi một hàm Windows API thống trị các kết cấu của kernel mode, hàm đó sẽ tạo nên một lời call tới kernel. Trong code dịch ngược, sự mở ra các lệnh SYSENTER, SYSCALL hoặc INT 0x2E là tín hiệu của một lời call tới kernel. Do tất yêu dancing trực tiếp trường đoản cú user mode cho tới kernel mode, các lệnh này áp dụng những bảng tra cứu vãn (Lookup table) để xác định những hàm định nghĩa trước sẽ tiến hành chạy vào kernel.

Mọi process chạy vào kernel mode phần đông cần sử dụng bình thường tài nguyên ổn khối hệ thống và ảnh hưởng bộ nhớ lưu trữ. Code chạy vào kernel mode hay triển khai không nhiều thao tác làm việc kiểm soát bảo mật thông tin hơn so với code chạy vào user mode và một Lúc chúng thực thi một lệnh chưa hợp lệ, OS sẽ không còn thể chạy tiếp, gây ra những lỗi Windows Blue screen of Death.

Code chạy trong kernel mode rất có thể làm chủ code vào user mode, nhưng code trong user mode chỉ có thể thống trị ngược lại code trong kernel mode thông qua một trong những API rõ ràng. Mặc cho dù hầu như code chạy vào kernel mode sử dụng chung bộ lưu trữ với tài nguyên hệ thống, trên một thời điểm luôn chỉ có một process context được hoạt động.

Hiểu biết về kernel mode mang về thế lực cho người viết mã độc. Nhiều làm việc chỉ hoàn toàn có thể được thực hiện vào kernel mode. Hầu hết các công tác bảo mật thông tin nhỏng AV hoặc firewall hồ hết chạy vào kernel mode để rất có thể truy vấn với thống kê giám sát hoạt động của phần đông vận dụng điều khiển xe trên khối hệ thống. Mã độc chạy trong kernel mode có thể qua khía cạnh AV và các firewall.

Trong kernel mode, phần lớn khác biệt thân các process chạy với độc quyền hay không gồm đặc quyền số đông được loại bỏ. Trong khi, các nhân kiệt kiểm soát điều hành của OS đầy đủ ko được vận dụng bên trên kernel. Vì các lí vày này, gần như phần lớn rootkit gần như sử dụng code chạy vào kernel.

Phát triển code mang lại kernel mode nặng nề rộng nhiều đối với code mang lại user mode. Một tường ngăn to là kernel code dễ làm cho crash hệ thống trong quá trình trở nên tân tiến với debug. Hình như, những hàm thịnh hành lại ko áp dụng được vào kernel mode, những luật hỗ trợ thiết kế với biên dịch trong kernel code cũng không nhiều. Do các trngơi nghỉ mắc cỡ bên trên, chỉ những mã độc tinc vi bắt đầu chạy vào kernel mode và đa số mã độc thịnh hành gần như không có thành phần kernel.

Native sầu API

Native API là hình ảnh mức tốt nhằm liên tưởng cùng với Windows và hãn hữu Khi được áp dụng vày các chương trình vô hại cơ mà lại thông dụng so với mã độc. Các lời Hotline hàm Native API có thể qua phương diện các hàm Windows API thông thường.

Khi ta Call một hàm trong Windows API, hàm này thường ko trực tiếp tiến hành tính năng được tận hưởng vì chưng đa số các cấu tạo dữ liệu đặc biệt những được đặt vào kernel cùng thiết yếu được truy vấn từ bỏ bên ngoài kernel. Microsoft vẫn tạo ra một các bước những bước giúp các công tác user mode triển khai được chức năng yên cầu.

*

Các áp dụng người tiêu dùng (công tác user mode) được cấp phép truy cập cho tới các user API vào kernel32.dll với một trong những DLL không giống, tất cả bọn chúng cùng call cho tới ntdll.dll, đấy là một DLL quan trọng đặc biệt triển khai làm chủ các địa chỉ thân không gian user cùng kernel. Các hàm chức năng vào kernel hay được đặt vào ntoskrnl.exe. Tiến trình đổi khác này tương đối phức tạp tuy vậy là cần thiết bởi vì cùng với các API kernel và user mode riêng rẽ rẽ, Microsoft rất có thể đổi khác kernel cơ mà không gây ảnh hưởng tới các áp dụng trong user mode.

Các hàm ntdll được Điện thoại tư vấn là Native API, bọn chúng sử dụng các API cùng kết cấu giống hệt như vào kernel mode. Các lịch trình bình thường không call được mang đến Native sầu API tuy vậy Windows không tồn tại hình thức ngăn cản chúng Hotline mang lại Native API.

Microsoft không công khai minh bạch tài liệu chi tiết về Native API, ta có thể phân tích chúng qua cuốn nắn Windows NT/2000 Native API Reference by Gary Nebbett (Sams,

2000) (khá cũ tuy nhiên vẫn cần sử dụng tốt) hoặc http://undocumented.ntinternals.net/

Rất nhiều hành vi được triển khai bằng phương pháp hotline hàm vào Native API nhưng không tồn tại hàm Windows API như thế nào khớp ứng. Điện thoại tư vấn thẳng Native sầu API cho phép mã độc thực hiện được số đông hành vi mà các công tác thông thường không thể tiến hành. Dường như, vấn đề Hotline hàm Native API không nhiều để lại dấu tích hơn đối với Call hàm Windows API. đa phần chương trình AV hoặc ứng dụng bảo mật tiến hành tính toán những lời gọi khối hệ thống (system call) tạo thành bởi vì một process. Nếu process này call trực tiếp một hàm Native sầu API, nó hoàn toàn có thể qua mặt các công tác AV này.

Sơ vật dụng bên dưới minh họa một công tác bảo mật được thiết kế với không về tối ưu, thực hiện tính toán các lời gọi mang đến kernel32.dll. Để qua phương diện lịch trình này, mã độc thực hiện Gọi trực tiếp cho tới Native API. Txuất xắc bởi Điện thoại tư vấn những hàm Windows API nlỗi ReadFile xuất xắc WriteFile, mã độc hotline những hàm NtReadFile cùng NtWriteFile, đó là những hàm của ntdll.dll và không trở nên đo lường do công tác bảo mật thông tin. Một lịch trình bảo mật thông tin được thiết kế theo phong cách xuất sắc đề nghị đo lường và thống kê các lời gọi trên toàn bộ các mức, bao gồm cả kernel, nhằm ngăn chặn phần đông giải pháp như vào ví dụ này.

*

Có nhiều nhóm hàm Native API được sử dụng để mang báo cáo hệ thống, thông tin các process, thread, handle cùng các đối tượng người dùng không giống, những hàm này bao gồm: NtQuerySystemInformation, NtQueryInformationProcess, NtQueryInformationThread, NtQueryInformationFile, cùng NtQueryInformationKey. Chúng hỗ trợ các thông tin cụ thể hơn đối với các hàm Win32.

Một hàm Native sầu API không giống cũng thịnh hành so với mã độc là NtContinue. Hàm này được dùng để trả về xuất phát điểm từ 1 nước ngoài lệ, có nghĩa là nó góp chuyển luồng triển khai (flow, minh bạch với luồng tiến trình) trsinh sống về luồng thực hiện chính sau khoản thời gian một nước ngoài lệ được giải pháp xử lý. Tuy nhiên, địa chỉ nhằm trả về dựa vào vào cụ thể từng hoàn cảnh ngoại lệ. Mã độc thường được sử dụng hàm này nhằm chuyển luồng xúc tiến một bí quyết phức hợp nhằm gây phá cho các Chuyên Viên phân tích cùng khiến cho chương trình cạnh tranh debug hơn.

Trong một số ngôi trường hòa hợp, chẳng hạn bảng export của ntdll.dll, cùng một hàm hoàn toàn có thể có tên với chi phí tố Nt hoặc Zw, ví dụ NtReadFile và ZwReadFile. Trong không gian user, những hàm này tiến hành và một tác dụng và hay Hotline cho và một code. Trong kernel mode, đôi lúc chúng gồm một vài khác hoàn toàn nhỏ, nhưng Khi đối chiếu mã độc, ta có thể bỏ qua mất các biệt lập bé dại này.

Xem thêm: R And B Là Gì ? Thông Tin Về Dòng Nhạc R&B Việt Nam Vài Nét Giới Thiệu Về Thể Loại Nhạc R&B Việt Nam

Các công tác Native (Native sầu applications) là những chương trình không cần sử dụng Win32 subsystem mà chỉ Call những hàm Native sầu API. Kiểu công tác này sẽ không phổ biến so với mã độc nhưng mà gần như là không bao giờ là 1 trong chương trình ko độc hại. Thông tin subsystem vào PE header mang đến ta biết một công tác liệu có phải là chương trình native hay là không.


Chuyên mục: Hỏi Đáp