qq_27906417 2023-02-03 09:57 采纳率: 100%
浏览 108
已结题

这个内核特征搜索该怎么用

我想这个用特征搜索函数搜到这个call所在的地址,该怎么用这个函数?已知可以使用下面函数获取PsLookupProcessByProcessId代码所在的地址

img

//特征码搜索代码
//pSearchBeginAddr 扫描的内存(内核)起始地址
//ulSearchLength 需要扫描的长度
//pSpecialCode 扫描特征码,传入一个UCHAR类型的字节数组
//ulSpecialCodeLength 特征码长度,传入字节数组长度
// By: LyShark.com
PVOID SearchSpecialCode(PVOID pSearchBeginAddr, ULONG ulSearchLength, PUCHAR pSpecialCode, ULONG ulSpecialCodeLength)
{
  PVOID pDestAddr = NULL;
  PUCHAR pBeginAddr = (PUCHAR)pSearchBeginAddr;
  PUCHAR pEndAddr = pBeginAddr + ulSearchLength;
  PUCHAR i = NULL;
  ULONG j = 0;

  for (i = pBeginAddr; i <= pEndAddr; i++)
  {
    // 遍历特征码
    for (j = 0; j < ulSpecialCodeLength; j++)
    {
      // 判断地址是否有效
      if (FALSE == MmIsAddressValid((PVOID)(i + j)))
      {
        break;
      }
      // 匹配特征码
      if (*(PUCHAR)(i + j) != pSpecialCode[j])
      {
        break;
      }
    }

    // 匹配成功
    if (j >= ulSpecialCodeLength)
    {
      pDestAddr = (PVOID)i;
      break;
    }
  }
  return pDestAddr;
}
获取PsLookupProcessByProcessId代码所在的地址
    UNICODE_STRING st = { 0 };
    RtlInitUnicodeString(&st, L"PsLookupProcessByProcessId");

    PVOID PsLookupProcessByProcessIdaddr = MmGetSystemRoutineAddress(&st);
  • 写回答

2条回答 默认 最新

  • 社区专家-Monster-XH 2023-02-03 11:08
    关注

    ''该回答引用ChatGPT''
    如对你的问题有帮助,请点击右侧采纳即可,谢谢!
    首先,你需要获取PsLookupProcessByProcessId的地址,这可以通过使用MmGetSystemRoutineAddress函数来实现,如下代码所示:

    UNICODE_STRING st = { 0 };
    RtlInitUnicodeString(&st, L"PsLookupProcessByProcessId");
    PVOID PsLookupProcessByProcessIdaddr = MmGetSystemRoutineAddress(&st);
    
    

    然后,可以使用SearchSpecialCode函数来搜索PsLookupProcessByProcessId的地址,传递需要扫描的起始地址和长度、特征码、特征码长度。例如:

    PUCHAR pSpecialCode = [Your feature code];
    ULONG ulSpecialCodeLength = [length of feature code];
    PVOID pFoundAddress = SearchSpecialCode(PsLookupProcessByProcessIdaddr, [Search Length], pSpecialCode, ulSpecialCodeLength);
    
    

    如果搜索成功,pFoundAddress将是PsLookupProcessByProcessId的地址。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    1人已打赏
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 2月11日
  • 已采纳回答 2月3日
  • 赞助了问题酬金15元 2月3日
  • 创建了问题 2月3日

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度