要实现在C++中隐藏一个进程的功能,可能需要使用到Windows API。我会提供一个简单的示例,但是请注意,这种做法可能被恶意软件用于隐藏其进程,因此在实际场景中要谨慎使用。
下面的示例代码将演示如何使用Windows API将一个进程附加到另一个进程上,从而隐藏自身的进程。
#include <Windowsh>
#include <TlHelp32h>
#include <iostream>
// 定义一个函数,用于在其他进程中创建远程线程
BOOL Inject(DWORD pID, const char dllPath) {
// 1 获取进程句柄
HANDLE process = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pID);
if (!process) {
std::cout << "[-] 无法打开目标进程" << std::endl;
return FALSE;
}
// 2 在目标进程中分配内存
LPVOID addr = VirtualAllocEx(process, NULL, strlen(dllPath) + 1, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE);
if (!addr) {
std::cout << "[-] 无法在目标进程中分配内存" << std::endl;
return FALSE;
}
// 3 将DLL路径写入目标进程中分配的内存
if (!WriteProcessMemory(process, addr, dllPath, strlen(dllPath) + 1, NULL)) {
std::cout << "[-] 无法将DLL路径写入目标进程" << std::endl;
return FALSE;
}
// 4 获取LoadLibraryA函数地址
LPVOID loadLibraryAddr = (LPVOID)GetProcAddress(GetModuleHandle(L"kernel32dll"), "LoadLibraryA");
if (!loadLibraryAddr) {
std::cout << "[-] 无法获取LoadLibraryA函数地址" << std::endl;
return FALSE;
}
// 5 在目标进程中创建远程线程,加载我们的DLL
HANDLE remoteThread = CreateRemoteThread(process, NULL, 0, (LPTHREAD_START_ROUTINE)loadLibraryAddr, addr, 0, NULL);
if (!remoteThread) {
std::cout << "[-] 无法在目标进程中创建远程线程" << std::endl;
return FALSE;
}
// 6 等待远程线程执行结束
WaitForSingleObject(remoteThread, INFINITE);
// 7 清理
CloseHandle(remoteThread);
CloseHandle(process);
return TRUE;
}
int main() {
// 需要将进程附加到的目标进程名称
const char targetProcessName = "notepadexe";
// 要注入的DLL路径
const char dllPath = "C:\\path\\to\\your\\dlldll";
// 获取目标进程的ID
DWORD pID = NULL;
PROCESSENTRY32 entry;
entrydwSize = sizeof(PROCESSENTRY32);
HANDLE snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL);
if (Process32First(snapshot, &entry)) {
do {
if (!_stricmp(entryszExeFile, targetProcessName)) {
pID = entryth32ProcessID;
break;
}
} while (Process32Next(snapshot, &entry));
}
CloseHandle(snapshot);
if (pID == NULL) {
std::cout << "[-] 无法找到目标进程: " << targetProcessName << std::endl;
return 1;
}
std::cout << "[+] 找到目标进程: " << targetProcessName << " (ID: " << pID << ")" << std::endl;
// 调用Inject函数,将进程附加到目标进程上
if (Inject(pID, dllPath)) {
std::cout << "[+] 成功附加到目标进程" << std::endl;
} else {
std::cout << "[-] 附加到目标进程失败" << std::endl;
}
return 0;
}
上面的示例代码会将一个DLL注入到指定的目标进程中(例如notepadexe)。为了使其隐藏自身的进程,你需要创建一个DLL,该DLL在加载时会修改进程的一些属性,使其在任务管理器等工具中不可见。
问题一:怎么样隐藏已经打开的应用程序,如下 你可以把鼠标移动到任务栏上,鼠标右击-属性-自动隐藏任务栏(选中),就可以使你打开的应用程序隐身,如果你想看一下的话,你直接把鼠标放在任务栏的位置你就能看见了
问题二:如何隐藏打开的软件图标 把鼠标放到桌面最下边,然后点右键,再点击属性,出来一个对话框,在对话框的最下边有一行写着 隐藏不活动图标(H) 自定义(C),你点击自定义就看到想隐藏的图标了, 修改了以后点一下确定就OK了。
问题三:怎样隐藏电脑下面打开软件的任务栏? 隐藏任务栏,一般右键任务栏,属性,有个自动隐藏任务栏的选项打上勾。
隐藏任务栏,任务栏只是自动向屏幕边收拢,鼠标移上去时,会再显示出来的。
这个好比QQ自动隐藏一样,这个你懂的。
问题四:win7如何隐藏打开的程序 这个就需要看游戏有没有自定义的老板键,直接按键就可以隐藏的。
大话西游2就有这样类似的功能,按F6还是多少就可以直接隐藏在那个小三角形点开的区域图标里面。
问题五:电脑上的 应用程序图标 被隐藏了 怎么弄 你是指桌面上的图标吗? 如果只是隐藏了,可以这样来设置,打开我的电脑,在菜单栏选择 工具--文件夹选项--查看--在高级设置里面往下拉,你会看到一个隐藏文件和文件夹的选项,把显示所有文件和文件夹激活,最后点击应用就可以了。 桌面上的应用程序图标一般是快捷方式,如果是被误删除了,你可以在回收站里面找找,有的话就将其还原。没有的话可以按下面的步骤进行:至程序所在文件夹,一般默认是在C:\Program Files 里面,找到你要的那个程序的安装文件夹,打开,然后右键选择运行可以这个程序的exe文件在右键快捷菜单中选择发送到桌面快捷方式就可以了。
问题六:怎样关闭系统隐藏开启的程序 一般情况下随系统启动的程序都可以在“系统配置”中找到;
我们可以通过开始→运行在其中输入 msconfigexe
在“启动”栏中就可以找到随系统启动的程序了;
如果依然没有找到,那么我们依然在“运行”窗口中输入 regeditexe
再到[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]主键中查找,如果依然未能找到,就再到[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]主键中查找,如果还是未能找到那么我们可以通过开始→控制面板→管理工具→服务,打开系统服务控制面板,在其中查找启动类型为自动的服务项目,如果不是病毒程序应该会在这几处找到。
问题七:怎样把打开的软件隐藏 5分 楼主问对人了,我也是隐藏起来下载的,哈哈哈,人不知鬼不觉。
在“选项―显示―老板键”里面设置下老板键就可以了。
在需要的时候再按一次老板键就能显示出来,很方便!
问题八:如何隐藏文件?隐藏后如何打开? 法1。选择文件属性钩选隐藏。工具栏里的工具--文件夹选项--查看--选择隐藏。
打开时:工具栏里的工具--文件夹选项--查看--选择不隐藏。
法2。将文件的后缀(扩展名)更改。随便输入字符即可。打开时在搐开方式中选择与原文件匹配的软件。如:原来是视频格式可选REALONE\WINDOWS MEDIA PLAYER
然后再重复法1。这样双层隐藏,即使发现拉文件也打不开。
问题九:苹果手机如何显示隐藏打开的应用程序 你电脑上有没有安装91手机助手啊???用91 的管理功能就可以把隐藏的应用程序更改
问题十:程序隐藏后如何打开 CTEL+ALT+DEL的进程找一下 追问: 进程我当然知道有啊,但不能打开 回答: 不能打开时什么意思 追问: 就是在桌面没有显示那个软件,但确实后台在运行,不是安装的软件,是解压后直接启动的一个软件 回答: 在进程里面结束他,你重启下,它启动的时候会有提示,选择否就会禁止了 追问: 重启过了,启动一点提示没有呢 回答: 一重启就自动运行?你知道那个程序的名称吗,在运行中可以搜索 追问: 我知道那个程序,我找得到,本来是双击就可以打开,打开后应该在桌面显示的,但不知道为什么现在不显示了 回答: 可能默认为隐藏或者为最小化了 追问: 那怎么才能打开啊? 回答: 不行了,已经默认了,或者你在安装下,看有没有提示或者看看那个软件有没有设置非 的感言: 虽然没有解决问题,但还是谢谢你 2011-06-30
在使用电脑的时候,如何保证个人的隐私是所有用户都十分关注的一件事。尤其是在共用电脑上面使用的话,如果需要临时离开的话,那么要先把运行的程序关了等都回来再打开吗这样做十分的耽误时间的。那么有没有一个好的方法呢下面就来看看win7系统将正在运行程序隐藏的方法吧。
可以先下载一个WindowManager软件,然后打开软件把需要隐藏的窗口加密隐藏,等到回来之后解密继续使用。当软件打开之后,鼠标右键点击软件的'图标,这时候选中菜单里面的Open WindowManager dialog选项,直接将窗口打开,如下图所示。
这个打开的窗口里面右键收录了目前全部正在运行程序的窗口名称,选择你需要隐藏的,点击Hide,然后程序就从桌面上消失不见了,窗口也会消失了,之后就可以关闭这个软件了。
如果回来继续使用程序的话,就要将其进行恢复,具体的做法是:右键点击软件图标,Restore window里面直接点击程序的名称就可以了。不过这种方法其他人也可以将程序恢复,因此我们可以对其进行加密,防止他人 *** 作。加密的时候鼠标右键点击菜单里面的Settings,选择Security标签,将restoring hidden windows打勾,然后再点击Set Password,设置相关的密码就可以了。
工具:运行环境win10 *** 作系统
1,首先将鼠标停留在空白桌面处。
2,此时鼠标单击右键。
3,在d出右键的菜单栏中点击“查看”图标。
4,在d出的菜单栏中,鼠标左键点击“显示桌面图标”。
5,点击之后即可显示出隐藏了的图标。
1、下载FU,下载地址:>
在电脑中禁用某程序运行运行输入gpeditmsc打开组策略,在左侧选用户配置/管理模板/系统,在右侧选“不要运行指定的Windows应用程序”,在打开的对话框选“已启用”在同时选显示/添加/将程序的英文名添加进去(组策略左侧有说明),按确定,确定应用重启电脑即可。无忧隐藏-窗口及文件夹隐藏工具 910软件详细信息:最新版可以免费激活了,并增加定时提醒、定时关机和自动粘贴功能。无忧隐藏集成了窗口隐藏软件、文件隐藏软件、进程隐藏软件的主要功能, *** 作方便、功能实用。其独有的开机自动隐藏功能可轻松实现BT、eMule、迅雷等工具自动隐藏下载。亦是上班族在上网、玩游戏、炒股时用来快速隐藏窗口及隐藏图标的最佳工具。无忧隐藏以强化隐私保护为核心设计理念,隐藏彻底且不露痕迹。主要特点:1、可使被指定为自动隐藏的程序以隐藏方式运行,即使用这些程序自身的快捷键也无法令其显示。2、可通过键盘或鼠标来迅速隐藏指定的程序。3、设置访问口令以防止他人查看隐藏列表或更改您的设置。4、进程、文件、文件夹隐藏管理。5、快速隐藏时可自动关闭声音。6、可设置窗口透明度(半透明窗口在几米之外很难察觉)7、可设置虚拟桌面,可以将不同的程序运行在不同的桌面下。8、可快速锁定屏幕,使他人无法 *** 作电脑。
以上就是关于C++怎么隐藏进程全部的内容,包括:C++怎么隐藏进程、怎么把打开的程序隐藏、win7系统如何将正在运行的程序隐藏等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)