我试图了解如何在pykd扩展中使用searchMemory()函数。
文档说:
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> >)有人知道这些参数是什么吗?我应该如何使用这个函数?
发布于 2016-08-09 23:16:00
首先,请注意,有两个相同方法的重载:
searchMemory( (long)arg1, (int)arg2, (list)arg3) -> int和
searchMemory( (long)arg1, (int)arg2, (str)arg3) -> intarg1是开始搜索的起始地址或偏移量,arg2是要搜索的内存长度或数量arg3是搜索词,可以是std::string)或char的)名单
我从pymemaccess.cpp [Codeplex]中的资料中解释了所有这些,但我本人从未使用过。
我既不熟悉C++,也不熟悉Python,更糟糕的是两者之间的映射,但是IMHO -- std::string是一个字节字符串,而不是Unicode字符,因此您可以将任意的字节放入其中。它也应该适用于ASCII搜索。但是你可能需要为UTF-16 / UCS的文本做一些修改。char的列表可能也是如此,因为它没有被声明为wchar_t。
https://stackoverflow.com/questions/38860702
复制相似问题