![]() |
|
#3
|
|||
|
|||
|
a few recomendations..
> GetWindowsDirectoryA(hosts, 256); > PathAppendA(hosts, "system32\\drivers\\etc\\hosts"); using a symlink \\.\globalroot\systemroot\drivers\hosts will be more easy ![]() > char* data=new char[size+website_len*2]; ok, new, c++, but it generate an exception if can't alloc memory. no try/except found. > int website_len=strlen(website); no input buffer check. > memset(data, 0, size+website_len*2); by default new memory is alreadt zero initiialized. > if(!ReadFile(hFile, data, size, &read, 0)) if(!ReadFile(hFile, data, size, &read, 0) || read != size) > MessageBoxA(hwndDlg, "Could not read file attributes", "Opened with admin privileges?", MB_ICONERROR|MB_SYSTEMMODAL); use IsUserAnAdmin for checking admin rights, GetFileAttributes doesn't require them. > unsigned int size=GetFileSize(hFile, 0); it's recommended to use GetFileSizeEx ![]() > if(!WriteFile(hFile, data, strlen(data), &written, 0)) if(!WriteFile(hFile, data, strlen(data), &written, 0) || strlen(data) != written) I advice you to read about SESE coding style. In general such code is not recommended to use because hosts is a malwares lovely file. It's better to use firewall or hooks. |
| The Following User Gave Reputation+1 to SLV For This Useful Post: | ||
b30wulf (08-05-2014) | ||
| Tags |
| code, hosts, patcher, source |
| Thread Tools | |
| Display Modes | |
|
|