社区
进程/线程/DLL
帖子详情
如何实现像FPE一样的其它进程的内存搜索?
adrianx
2002-07-16 04:17:33
如题
...全文
123
8
打赏
收藏
如何实现像FPE一样的其它进程的内存搜索?
如题
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
adrianx
2002-07-17
打赏
举报
回复
<Windows核心编程>我无,能否讲一下?
MSVCer
2002-07-17
打赏
举报
回复
进程的哪些内存地址是有效的可以查询<Windows核心编程>
adrianx
2002-07-17
打赏
举报
回复
TO: Wargod2002(Wargod2002)
关键不知道哪些内存地址是有效的?
nevergrief
2002-07-16
打赏
举报
回复
怎么得到95和NT中的正在运行中的进程
作者:贾旭滨(译)
//原著:Tomer Petel
//译者:重庆大学光电工程学院 贾旭滨
//欢迎大家批评指教,谢谢!
有些时候,我们在运行一些程序的时候,需要得到当前系统中所有的进程的列表。当然,这对于一个比较熟悉计算机的人来说,很简单,在WINNT中我们可以使用任务管理器来知道,在WIN95/98/ME中我们可以使用一些工具来知道就可以了。不过我们现在要写一个既能在NT中运行,又能在95/98/ME中运行的程序,它能得到进程的列表,而又不必要一些麻烦的操作。因此,我写了一个C++类,它使用Win32Process来得到当前系统中所有运行的进程,当然肯定是用MFC写的,而且这个程序在NT和95/98/ME中都能运行,这就是我在这儿提出来的原因。这个程序能得知系统的类型,并且选择要运行程序的哪部分,进行什么操作。
该类的代码是这样写的(代码可到“程序代码”下载),它使用了DLL,函数都是动态加载的,所以你不必要去连接一个LIB文件,而使得你的代码(或者是你的工程设置)在NT和98/95/ME中需要不同的的写法(需要不同的设置)。比如,我们在NT上编译,但是我们需要使用WIN95中的TOOLHELP函数Process32Next(),即使这样,编译、连接和运行却都能进行。因此,我们要做的就是把代码加到你工程中去,然后你就能高枕无忧的运行就行了,因为类回自动选择该用什么。
使用步骤:
1.要使用这个类,首先得把它的头文件加到我们要用的地方。
2.然后声明变量,比如:Win32Process m_win32proc。
3.在使用之前还应该初始化它,代码如下:
if(!m_win32proc.Init())
AfxMessageBox(m_win32proc.GetLastError());
如果你是在95上初始的,就能得到需要的函数的指针。如果是在NT上的,该函数什么事都不干,但是它还是会被调用的。运行成功的话就返回TRUE值,失败则是FALSE,如果要想得到是什么错误的话,可以调用GetLastError(),它能返回一个关于错误属性的字符串。如下,就可以得到进程的列表了:
if (!m_win32proc.EnumAllProcesses())
{
AfxMessageBox(m_win32proc.GetLastError());
return;
}
好了!在Win32Process.cpp中有一个CStringArray数组,它列出了所有当前运行的进程的名字。要想显示进程的名字的话,还要做一些事情,我们可以用列表框来显示,如下:
int size=m_win32proc.GetAllProcessesNames()->GetSize();
for (int i=0;i<size;i++)
m_ctrlProcLB.AddString(m_win32proc.GetAllProcessesNames()->GetAt(i));
这儿m_ctrlProcLB是一个LIST BOX控件。很简单吧?如果你还想知道具体的哪个进程是不是在运行的时候,你可以用GetProcessStatus()函数,如下:
if (!m_win32proc.GetProcessStatus(&m_strProcessToCheck,&bStatus))
{
AfxMessageBox(m_win32proc.GetLastError());
return;
}
if (bStatus)
AfxMessageBox(m_strProcessToCheck+" is running!");
else
AfxMessageBox(m_strProcessToCheck+" is NOT running!");
不过很可惜,GetProcessStatus()不会返回一个BOOL值来显示那个进程是不是在运行,不过这也没有事,我们可以定义一个变量来表示就行了。这儿是已经封装的类,可供下载(还是有DEMO程序的)。
ttzzgg_80713
2002-07-16
打赏
举报
回复
up
ttzzgg_80713
2002-07-16
打赏
举报
回复
可以提供核心代码。email
wistaria
2002-07-16
打赏
举报
回复
http://www2.ccw.com.cn/tips/2k01/011901_05.asp
Wargod2002
2002-07-16
打赏
举报
回复
ReadProcessMemory
去年的程序员合订本上有讲这个的一篇文章
可以参考一下
在
内存
中修改数据的网游外挂
在
内存
中修改数据的网游外挂现在很多游戏都是把一些信息存入
内存
单元的,那么我们只需要修改具体
内存
值就能修改游戏中的属性,很多网络游戏也不外于此。 曾几何时,一些网络游戏也是可以用
内存
外挂进行修改的,后来...
Delphi
内存
管理(读取、修改、补丁)
Windows 是多任务的操作系统, 一个任务就是一个应用(应用程序)、一个应用占一个
进程
;在一个
进程
里面, 又可以运行多个线程(所以就有了很多"多线程编程"的话题).对 Win32 来讲, 系统给每个
进程
4GB 的地址空间:低端 2...
安卓逆向之双剑合璧
实现
内存
扫描
通过观察,我们发现这个地址和GG扫描到的地址很像,但是并不一样。 其实我们扫描的只是虚拟机的地址,而在CE和模拟器内APP之间是有一层虚拟机进行中转的, 比如我们在模拟器内开启了多个APP,这些APP的
内存
在模拟器...
进程
控制(
进程
创建与终止 |
进程
等待 | 程序替换)
文章目录一、
进程
创建1. fork函数2. fork创建
进程
3. 写时拷贝二、
进程
终止1.
进程
退出有三种情况2. 常见
进程
终止方法三、
进程
等待背景(必要性)1.
进程
等待的方法(1)wait 在之前的学习中,我们至少应该明确
进程
...
CE是什么?C++初学者如何使用?
CE是什么? Cheat Engine它允许你修改你的游戏
内存
,所以你将得到其他人没有的功能。...我可以非常清楚的告诉你不全是,
内存
修改可以有很多功能达到,但他不能像外挂一样什么都可以修改,只可以修改一
进程/线程/DLL
15,473
社区成员
49,171
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章