首页
社区
课程
招聘
[旧帖] [求助]关于写内存 0.00雪花
发表于: 2011-7-18 14:36 4626

[旧帖] [求助]关于写内存 0.00雪花

2011-7-18 14:36
4626
在VS 2010 写的MFC程序,用 WriteProcessMemory写内存, 为何在我的机器上能成功,在别的机器上就失败呢, 用消息框提示了下,发现是 Openprocess 的值是 0,后来加上了提权函数,发现还是不行 ,我就郁闷了 ,请有过类似经历的兄弟说下 是啥问题

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 204
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
并不是所有区域都可以写的  还有就是写之前最好调用  virtualprotect 进行内存保护方式设置
2011-7-18 15:42
0
雪    币: 159
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
神奇的是 我自己的机器上可以写, 但是别的机器上就不行,  恩,我用virtualprotect  试试
2011-7-18 20:44
0
雪    币: 1121
活跃值: (652)
能力值: ( LV5,RANK:66 )
在线值:
发帖
回帖
粉丝
4
没有什么神奇的,看你要写入的内存是什么情况了。猜测你是要Hook系统Api?
2011-7-18 23:41
0
雪    币: 54
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
用GetLastError看看错误代码啊,是在所有的其他机器都不成功还是某一台?若某一台的话看看NTOpenProcess是否被HOOK了
2011-7-19 12:28
0
雪    币: 105
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
主动防御引起的问题,偶之前遇到过,解决方法还是提权,
估计你提权方法有问题哈!

偶是采用OpenProcessToken()
LookupPrivilegeValue()
AdjustTokenPrivileges()三个函数来提权

要修改一个进程的访问令牌,首先要获得进程访问令牌的句柄,这可以通过OpenProcessToken得到,
函数的原型如下:   
BOOL OpenProcessToken(   __in HANDLE ProcessHandle, //要修改访问权限的进程句柄   
__in DWORD DesiredAccess, //指定你要进行的操作类型  
 __out PHANDLE TokenHandle //返回的访问令牌指针   );   
第一参数是要修改访问权限的进程句柄;
第三个参数就是返回的访问令牌指针;
第二个参数指定你要进行的操作类型,如要修改访问令牌的特权,
我们要指定第二个参数为TOKEN_ADJUST_PRIVILEGES(其它一些参数可参考Platform SDK)。
通过这个函数我们就可以得到当前进程的访问令牌的句柄(指定函数的第一个参数为GetCurrentProcess()就可以了)。
接着我们可以调用AdjustTokenPrivileges对这个访问令牌进行修改。
AdjustTokenPrivileges的原型如下:   
BOOL AdjustTokenPrivileges(   HANDLE TokenHandle, // handle to token   BOOL DisableAllPrivileges, // disabling option  
 PTOKEN_PRIVILEGES NewState, // privilege information  
 DWORD BufferLength, // size of buffer   
PTOKEN_PRIVILEGES PreviousState, // original state buffer  
 PDWORD ReturnLength // required buffer size   );  
 第一个参数是访问令牌的句柄;
第二个参数决定是进行权限修改还是除能(Disable)所有权限;
第三个参数指明要修改的权限,是一个指向TOKEN_PRIVILEGES结构的指针,该结构包含一个数组,数据组的每个项指明了权限的类型和要进行的操作;
第四个参数是结构PreviousState的长度,如果PreviousState为空,该参数应为NULL;
第五个参数也是一个指向TOKEN_PRIVILEGES结构的指针,存放修改前的访问权限的信息,可空;
最后一个参数为实际PreviousState结构返回的大小。
2011-7-19 15:32
0
雪    币: 77
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
是不是操作系统不同。
2011-7-20 15:15
0
游客
登录 | 注册 方可回帖
返回
//