代码里没有修改注册表的内容,程序内出现修改注册表的行为

C++语言 码拜 8年前 (2017-04-24) 1037次浏览
 #include "stdafx.h"
#include <windows.h>
#include <wininet.h>
#pragma comment(lib,"wininet.lib")
char * real_ip() {
	HINTERNET net = InternetOpen(_T("IP retriever"),INTERNET_OPEN_TYPE_PRECONFIG,NULL,NULL,0);
	HINTERNET conn = InternetOpenUrl(net,_T("http://api.ipify.org/"),NULL,0,INTERNET_FLAG_RELOAD,0);
	char buffer[4096];
	DWORD read;
	InternetReadFile(conn, buffer, sizeof(buffer) / sizeof(buffer[0]), &read);
	InternetCloseHandle(net);
	return buffer;
}
int main() 
{
	char * ip = real_ip();
	printf(ip);
	getchar();
}

如题代码奉上, 每次运行,360都会报出 ,有程序在修改IE连接设置。修改的值:
HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\INTERNET SETTINGS\CONNECTIONS\[DefaultConnectionSettings]\[46 00 00 00 03 00 XX XX XX XX]
这是为什么?why?是原因是打开的网站问题,还是个人电脑里的某个函数被什么病毒劫持了?代码里没有修改注册表的内容,程序内出现修改注册表的行为代码里没有修改注册表的内容,程序内出现修改注册表的行为

解决方案

80

你real_ip返回的是一个局部变量,函数结束后就销毁了

10

推荐使用软件regmon

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明代码里没有修改注册表的内容,程序内出现修改注册表的行为
喜欢 (0)
[1034331897@qq.com]
分享 (0)