classfree
驱动小牛
驱动小牛
  • 注册日期2004-05-23
  • 最后登录2019-01-06
  • 粉丝1
  • 关注1
  • 积分873分
  • 威望276点
  • 贡献值0点
  • 好评度85点
  • 原创分0分
  • 专家分0分
  • 社区居民
阅读:1217回复:3

获取当前进程所在的Volume,蓝屏!

楼主#
更多 发布于:2007-02-17 12:16
  ULONG dwAddress;
WCHAR procress[256];

memset(procress, 0, sizeof(WCHAR)*256);
if(KeGetCurrentIrql() != PASSIVE_LEVEL)
{
    return FALSE;
}
    
dwAddress = (long)PsGetCurrentProcess();
if(dwAddress == 0 || dwAddress == 0xFFFFFFFF)
{
    return FALSE;
}

dwAddress += 0x01B0;                        
if((dwAddress = *(long*)dwAddress) == 0)
{
    return FALSE;
}
dwAddress += 0x0010;                    
if((dwAddress = *(long*)dwAddress) == 0)
{
    return FALSE;
}
dwAddress += 0x3C;                        
if((dwAddress = *(long*)dwAddress) == 0)
{
    return FALSE;
}

RtlCopyMemory(path, (WCHAR *)dwAddress, 16*sizeof(WCHAR));

if( _wcsnicmp(procress, L"\\", 1) == 0 ) //就是这句出错, 在某些时候要蓝屏! 为什么?
{
    return FALSE;
}

//上面那句就是要出错啊!!
低调点!
classfree
驱动小牛
驱动小牛
  • 注册日期2004-05-23
  • 最后登录2019-01-06
  • 粉丝1
  • 关注1
  • 积分873分
  • 威望276点
  • 贡献值0点
  • 好评度85点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2007-02-21 10:31
OS版本判断过了,偏移我也是正确的!!

是最后在处理dwAddress的时候出了问题!
问题已搞定, 谢谢两位!
低调点!
游客

返回顶部