등록표 주입
6603 단어 레지스트리
void CInjectDemoDlg::OnBnClickedBtnReg()
{
WCHAR szSubKey[] = L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Windows";
TCHAR szData[MAX_PATH] = _T("");
GetCurrentDirectory(MAX_PATH, szData);
_tcscat_s(szData, _T("\\MyDll.dll"));
HKEY hkRet;
if (ERROR_SUCCESS != ::RegOpenKeyEx(HKEY_LOCAL_MACHINE, szSubKey, 0, KEY_ALL_ACCESS, &hkRet))
return; //
if (!EnableTargetPriv(SE_DEBUG_NAME))
return; //
RegSetValueEx(hkRet, L"AppInit_DLLs", 0, REG_SZ, (BYTE*)szData, (_tcslen(szData) + 1)*sizeof(TCHAR));
DWORD dwLoadApp = 1;
RegSetValueEx(hkRet, L"LoadAppInit_DLLs", 0, REG_DWORD, (BYTE*)&dwLoadApp, sizeof(DWORD));
RegCloseKey(hkRet);
}
마운트 해제 시 키 값의 값을 비우면 됩니다
//
VOID CInjectDemoDlg::ERegInject()
{
WCHAR szSubKey[] = L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Windows";
TCHAR szData[] = _T("");
HKEY hkRet;
if (ERROR_SUCCESS != ::RegOpenKeyEx(HKEY_LOCAL_MACHINE, szSubKey, 0, KEY_ALL_ACCESS, &hkRet))
return; //
if (!EnableTargetPriv(SE_DEBUG_NAME))
return; //
RegSetValueEx(hkRet, L"AppInit_DLLs", 0, REG_SZ, (BYTE*)szData, (_tcslen(szData) + 1)*sizeof(TCHAR));
DWORD dwLoadApp = 0;
RegSetValueEx(hkRet, L"LoadAppInit_DLLs", 0, REG_DWORD, (BYTE*)&dwLoadApp, sizeof(DWORD));
RegCloseKey(hkRet);
return;
}
안의 권한 추출 함수 코드
// by SYC
BOOL EnableTargetPriv(LPTSTR lpszPrivilege)
{
HANDLE hToken = NULL;
TOKEN_PRIVILEGES tkp = { 0 };
if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)) {
return FALSE;
}
if (!LookupPrivilegeValue(NULL, lpszPrivilege, &tkp.Privileges[0].Luid)) {
CloseHandle(hToken);
return FALSE;
}
tkp.PrivilegeCount = 1;
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
if (!AdjustTokenPrivileges(hToken, FALSE, &tkp, sizeof(TOKEN_PRIVILEGES), NULL, NULL)) {
CloseHandle(hToken);
return FALSE;
}
return TRUE;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Windows 10 레지스트리 원호HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanese\Eras여기 있습니다. .NET Framework 3.5에서는 하드 코드된 원호가...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.