首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pykd中的searchMemory函数

pykd中的searchMemory函数
EN

Stack Overflow用户
提问于 2016-08-09 21:25:02
回答 1查看 366关注 0票数 2

我试图了解如何在pykd扩展中使用searchMemory()函数。

文档说:

代码语言:javascript
复制
Function searchMemory

searchMemory( (long)arg1, (int)arg2, (list)arg3) -> int :
Search in virtual memory

C++ signature :
unsigned __int64 searchMemory(unsigned __int64,unsigned long,class boost::python::list)

searchMemory( (long)arg1, (int)arg2, (str)arg3) -> int :
Search in virtual memory

C++ signature :
unsigned __int64 searchMemory(unsigned __int64,unsigned long,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)

有人知道这些参数是什么吗?我应该如何使用这个函数?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-09 23:16:00

首先,请注意,有两个相同方法的重载:

代码语言:javascript
复制
searchMemory( (long)arg1, (int)arg2, (list)arg3) -> int

代码语言:javascript
复制
searchMemory( (long)arg1, (int)arg2, (str)arg3) -> int
  • arg1是开始搜索的起始地址或偏移量,
  • arg2是要搜索的内存长度或数量
  • arg3是搜索词,可以是
    • 字符串(std::string)或
    • (char的)名单

  • 返回值是一个偏移量,当然是第一个事件的偏移量,因此要查找下一个事件,您必须再次搜索。

我从pymemaccess.cpp [Codeplex]中的资料中解释了所有这些,但我本人从未使用过。

我既不熟悉C++,也不熟悉Python,更糟糕的是两者之间的映射,但是IMHO -- std::string是一个字节字符串,而不是Unicode字符,因此您可以将任意的字节放入其中。它也应该适用于ASCII搜索。但是你可能需要为UTF-16 / UCS的文本做一些修改。char的列表可能也是如此,因为它没有被声明为wchar_t

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38860702

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档