当前位置: 操作系统/服务器>windows
本页文章导读:
▪system进程占内存84M 求救!该怎么解决 system进程占内存84M 求救!!大家看看我的这个system进程 竟然占84M啊 太恐怖了正常的一般都是304K或305K请大家帮忙分析下是什么原因?中病毒了??好像又没 因为我用卡巴 avg 360 等等好多杀.........
▪ 卸载软件时,跳出的是否允许更改注册表,允许还是不允许?解决思路 卸载软件时,跳出的是否允许更改注册表,允许还是不允许?我想应该分2种情况吧:1.绿色软件在卸载时跳出的是否允许更改注册表项,应该选允许2.恶意软件在卸载时跳出来的,就不能让它.........
▪ 高手看下这远程注入错在哪解决方案 高手看下这远程注入错在哪#include <windows.h>#include <iostream>using namespace std;//事先必须先单独测试该函数的长度,还有必须static 属性才是真正的函数地址//否则只是 jmp 真正函数地址: 这.........
[1]system进程占内存84M 求救!该怎么解决
来源: 互联网 发布时间: 2014-02-18
system进程占内存84M 求救!!
大家看看我的这个system进程 竟然占84M啊 太恐怖了
正常的一般都是304K或305K
请大家帮忙分析下是什么原因?
中病毒了??好像又没 因为我用卡巴 avg 360 等等好多杀毒软件都查过了 没查到有病毒!!
请各位大侠帮帮小弟!!不甚感激!!
就算没碰到过 也可以根据你们的经验帮忙分析可能的原因!!谢谢哈!!
这个是系统正常进程,我的只有200多K,而且用户名是system
你没有开什么大的软件吧?或者某一项的驱动没有安装好也会引起这个的。应该没事,杀软没报毒就问题不大
要不重启试试
应该是驱动问题,我的本本原来显卡驱动没安装,占用率达到了99%!!扫描一下驱动吧
要是温度过高就关机歇会儿,毕竟咱的东西要爱护啊
注意system是映像名称,实际是对应系统内核程序ntoskrnl.exe
该进程级运行级别很高,直接调用hal.dll和驱动程序*.sys
用Process Explorer查看system对应的线程和模块,一般都是第三方驱动的问题,直接卸载后测试
大家看看我的这个system进程 竟然占84M啊 太恐怖了
正常的一般都是304K或305K
请大家帮忙分析下是什么原因?
中病毒了??好像又没 因为我用卡巴 avg 360 等等好多杀毒软件都查过了 没查到有病毒!!
请各位大侠帮帮小弟!!不甚感激!!
就算没碰到过 也可以根据你们的经验帮忙分析可能的原因!!谢谢哈!!
这个是系统正常进程,我的只有200多K,而且用户名是system
你没有开什么大的软件吧?或者某一项的驱动没有安装好也会引起这个的。应该没事,杀软没报毒就问题不大
要不重启试试
应该是驱动问题,我的本本原来显卡驱动没安装,占用率达到了99%!!扫描一下驱动吧
要是温度过高就关机歇会儿,毕竟咱的东西要爱护啊
注意system是映像名称,实际是对应系统内核程序ntoskrnl.exe
该进程级运行级别很高,直接调用hal.dll和驱动程序*.sys
用Process Explorer查看system对应的线程和模块,一般都是第三方驱动的问题,直接卸载后测试
[2] 卸载软件时,跳出的是否允许更改注册表,允许还是不允许?解决思路
来源: 互联网 发布时间: 2014-02-18
卸载软件时,跳出的是否允许更改注册表,允许还是不允许?
我想应该分2种情况吧:
1.绿色软件在卸载时跳出的是否允许更改注册表项,应该选允许
2.恶意软件在卸载时跳出来的,就不能让它修改
是不是这样?
通常情况都是允许删除的。卸载软件需要删除这个软件在注册表中的痕迹,不删除会给以后应用带来各种问题。
最佳情况是有个监控软件,监控将要删除注册表里面的哪个表项,自己再来控制。
正常情况下,软件卸载都可以选择“允许”。
不过不排除卸载软件时会修改某些注册表项,导致其他软件运行有问题。这个需要对系统和软件有一定的认识。
允许
所谓的绿色软件,就是不写入注册表,如果你确认是绿色软件,卸载时候还出现提示是否允许更改注册表,那就要注意了~
我想应该分2种情况吧:
1.绿色软件在卸载时跳出的是否允许更改注册表项,应该选允许
2.恶意软件在卸载时跳出来的,就不能让它修改
是不是这样?
通常情况都是允许删除的。卸载软件需要删除这个软件在注册表中的痕迹,不删除会给以后应用带来各种问题。
最佳情况是有个监控软件,监控将要删除注册表里面的哪个表项,自己再来控制。
正常情况下,软件卸载都可以选择“允许”。
不过不排除卸载软件时会修改某些注册表项,导致其他软件运行有问题。这个需要对系统和软件有一定的认识。
允许
所谓的绿色软件,就是不写入注册表,如果你确认是绿色软件,卸载时候还出现提示是否允许更改注册表,那就要注意了~
[3] 高手看下这远程注入错在哪解决方案
来源: 互联网 发布时间: 2014-02-18
高手看下这远程注入错在哪
#include <windows.h>
#include <iostream>
using namespace std;
//事先必须先单独测试该函数的长度,还有必须static 属性才是真正的函数地址
//否则只是 jmp 真正函数地址: 这一句代码的地址而已
//release下只有加static编译器才不会优化成普通代码,而当成一函数处理
static DWORD WINAPI ThreadProc(LPVOID lpParameter);
typedef HMODULE (WINAPI *LPLoadLibrary)(LPCSTR);
typedef FARPROC (WINAPI *LPGetProcAddress)(HMODULE, LPCSTR);
typedef int (WINAPI *LPMessageBox)(HWND, LPCSTR, LPCSTR, UINT);
//....
//如上这边可以列下线程所要用的api函数指针
struct para
{
LPLoadLibrary lploadlibrary;
LPGetProcAddress lpgetprocaddress;
char dllname[10][0xff];
char funname[10][0xff];
char strname[10][0xff];
};
void ShowError();
void main()
{
HWND hwnd;
DWORD PID;
HANDLE hProcess;
hwnd = ::FindWindowEx(NULL, NULL, "CalcFrame", "计算器");
if (hwnd == NULL)
{
ShowError();
::ExitProcess(0xff);
}
::GetWindowThreadProcessId(hwnd, &PID); //不必判断返回值
hProcess = ::OpenProcess(PROCESS_ALL_ACCESS, FALSE, PID);
if (hProcess == NULL)
{
ShowError();
::ExitProcess(0xff);
}
//构造传进去的参数
struct para parabuff;
memset(¶buff, 0, sizeof(struct para));
parabuff.lploadlibrary = (LPLoadLibrary)::GetProcAddress(::GetModuleHandle("kernel32.dll"), "LoadLibraryA");
parabuff.lpgetprocaddress = (LPGetProcAddress)::GetProcAddress(::GetModuleHandle("kernel32.dll"), "GetProcAddress");
memcpy(parabuff.dllname[0], "kernel32.dll", 0xff);
memcpy(parabuff.dllname[1], "user32.dll", 0xff );
memcpy(parabuff.dllname[2], "ws2_32.dll", 0xff);
memcpy(parabuff.funname[0], "MessageBoxA", 0xff);
memcpy(parabuff.funname[1], "GetModuleHandleA", 0xff);
memcpy(parabuff.strname[0], "欢迎使用远程线程", 0xff);
memcpy(parabuff.strname[1], "远程线程:", 0xff);
//....上面还可以列出要用到的*.dll与API
//申请参数结构空间
LPVOID databuff = ::VirtualAllocEx(hProcess, NULL, sizeof(struct para), MEM_COMMIT, PAGE_READWRITE);
if (databuff == NULL)
{
ShowError();
::ExitProcess(0xff);
}
if (!::WriteProcessMemory(hProcess, databuff, ¶buff, sizeof(parabuff), NULL ))
{
ShowError();
::VirtualFreeEx(hProcess, databuff, 0, MEM_RELEASE);
::ExitProcess(0xff);
}
//代码长度是查出汇编文件查看出来的
LPVOID codebuff = ::VirtualAllocEx(hProcess, NULL, 0xff, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
if (codebuff == NULL)
{
ShowError();
::ExitProcess(0xff);
}
if (!::WriteProcessMemory(hProcess, codebuff, ThreadProc, 0xff, NULL ))
{
ShowError();
::VirtualFreeEx(hProcess, codebuff, 0, MEM_RELEASE);
::ExitProcess(0xff);
}
HANDLE hThread;
hThread = ::CreateRemoteThread(hProcess, //进程句柄
NULL, //安全属性
0, //堆栈大小
(LPTHREAD_START_ROUTINE)codebuff,
databuff, //参数
0, //创建标志
NULL); //线程ID
if (hThread == NULL)
{
ShowError();
::VirtualFreeEx(hProcess, codebuff, 0, MEM_RELEASE);
::ExitProcess(0xff);
}
if (::WaitForSingleObject(hThread, INFINITE) == WAIT_FAILED)
{
ShowError();
::VirtualFreeEx(hProcess, codebuff, 0, MEM_RELEASE);
::ExitProcess(0xff);
}
DWORD status;
if (!::GetExitCodeThread(hThread, &status))
{
ShowError(); //函数失败
::VirtualFreeEx(hProcess, codebuff, 0, MEM_RELEASE);
::ExitProcess(0xff);
}
else
{
cout << "线程退出码:"<< hex << status << endl; //dll.dll在目标进程中的地址
}
if (!::CloseHandle(hThread))
{
ShowError();
::VirtualFreeEx(hProcess, codebuff, 0, MEM_RELEASE);
::ExitProcess(0xff);
}
//释放目标进程申请的内存空间(MEM_RELEASE完全释放dwSize参数必须为0)
#include <windows.h>
#include <iostream>
using namespace std;
//事先必须先单独测试该函数的长度,还有必须static 属性才是真正的函数地址
//否则只是 jmp 真正函数地址: 这一句代码的地址而已
//release下只有加static编译器才不会优化成普通代码,而当成一函数处理
static DWORD WINAPI ThreadProc(LPVOID lpParameter);
typedef HMODULE (WINAPI *LPLoadLibrary)(LPCSTR);
typedef FARPROC (WINAPI *LPGetProcAddress)(HMODULE, LPCSTR);
typedef int (WINAPI *LPMessageBox)(HWND, LPCSTR, LPCSTR, UINT);
//....
//如上这边可以列下线程所要用的api函数指针
struct para
{
LPLoadLibrary lploadlibrary;
LPGetProcAddress lpgetprocaddress;
char dllname[10][0xff];
char funname[10][0xff];
char strname[10][0xff];
};
void ShowError();
void main()
{
HWND hwnd;
DWORD PID;
HANDLE hProcess;
hwnd = ::FindWindowEx(NULL, NULL, "CalcFrame", "计算器");
if (hwnd == NULL)
{
ShowError();
::ExitProcess(0xff);
}
::GetWindowThreadProcessId(hwnd, &PID); //不必判断返回值
hProcess = ::OpenProcess(PROCESS_ALL_ACCESS, FALSE, PID);
if (hProcess == NULL)
{
ShowError();
::ExitProcess(0xff);
}
//构造传进去的参数
struct para parabuff;
memset(¶buff, 0, sizeof(struct para));
parabuff.lploadlibrary = (LPLoadLibrary)::GetProcAddress(::GetModuleHandle("kernel32.dll"), "LoadLibraryA");
parabuff.lpgetprocaddress = (LPGetProcAddress)::GetProcAddress(::GetModuleHandle("kernel32.dll"), "GetProcAddress");
memcpy(parabuff.dllname[0], "kernel32.dll", 0xff);
memcpy(parabuff.dllname[1], "user32.dll", 0xff );
memcpy(parabuff.dllname[2], "ws2_32.dll", 0xff);
memcpy(parabuff.funname[0], "MessageBoxA", 0xff);
memcpy(parabuff.funname[1], "GetModuleHandleA", 0xff);
memcpy(parabuff.strname[0], "欢迎使用远程线程", 0xff);
memcpy(parabuff.strname[1], "远程线程:", 0xff);
//....上面还可以列出要用到的*.dll与API
//申请参数结构空间
LPVOID databuff = ::VirtualAllocEx(hProcess, NULL, sizeof(struct para), MEM_COMMIT, PAGE_READWRITE);
if (databuff == NULL)
{
ShowError();
::ExitProcess(0xff);
}
if (!::WriteProcessMemory(hProcess, databuff, ¶buff, sizeof(parabuff), NULL ))
{
ShowError();
::VirtualFreeEx(hProcess, databuff, 0, MEM_RELEASE);
::ExitProcess(0xff);
}
//代码长度是查出汇编文件查看出来的
LPVOID codebuff = ::VirtualAllocEx(hProcess, NULL, 0xff, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
if (codebuff == NULL)
{
ShowError();
::ExitProcess(0xff);
}
if (!::WriteProcessMemory(hProcess, codebuff, ThreadProc, 0xff, NULL ))
{
ShowError();
::VirtualFreeEx(hProcess, codebuff, 0, MEM_RELEASE);
::ExitProcess(0xff);
}
HANDLE hThread;
hThread = ::CreateRemoteThread(hProcess, //进程句柄
NULL, //安全属性
0, //堆栈大小
(LPTHREAD_START_ROUTINE)codebuff,
databuff, //参数
0, //创建标志
NULL); //线程ID
if (hThread == NULL)
{
ShowError();
::VirtualFreeEx(hProcess, codebuff, 0, MEM_RELEASE);
::ExitProcess(0xff);
}
if (::WaitForSingleObject(hThread, INFINITE) == WAIT_FAILED)
{
ShowError();
::VirtualFreeEx(hProcess, codebuff, 0, MEM_RELEASE);
::ExitProcess(0xff);
}
DWORD status;
if (!::GetExitCodeThread(hThread, &status))
{
ShowError(); //函数失败
::VirtualFreeEx(hProcess, codebuff, 0, MEM_RELEASE);
::ExitProcess(0xff);
}
else
{
cout << "线程退出码:"<< hex << status << endl; //dll.dll在目标进程中的地址
}
if (!::CloseHandle(hThread))
{
ShowError();
::VirtualFreeEx(hProcess, codebuff, 0, MEM_RELEASE);
::ExitProcess(0xff);
}
//释放目标进程申请的内存空间(MEM_RELEASE完全释放dwSize参数必须为0)
最新技术文章: