【发布时间】:2015-10-23 16:24:41
【问题描述】:
我正在尝试制作一个允许我选择文件或进程并在其中搜索值的程序。 (如果它存在,我希望它返回值存在的所有地址) 例如,如果我选择 Chrome 并搜索我的信誉值,它应该会得到包含信誉变量的地址(加上包含相同值的所有其他地址)。 有没有办法做这样的事情? (这种程序的一个例子是“作弊引擎”——这正是我想要构建的)
【问题讨论】:
我正在尝试制作一个允许我选择文件或进程并在其中搜索值的程序。 (如果它存在,我希望它返回值存在的所有地址) 例如,如果我选择 Chrome 并搜索我的信誉值,它应该会得到包含信誉变量的地址(加上包含相同值的所有其他地址)。 有没有办法做这样的事情? (这种程序的一个例子是“作弊引擎”——这正是我想要构建的)
【问题讨论】:
不确定您的示例,因为它可能涉及来自第三方 (Google) 的一些信息,但要检查文件中是否存在值,您可以使用 if 语句轻松加载文件。
with open('file') as f:
for line in f:
if 'value' in line:
do_whatever_you_want
【讨论】:
使用可执行文件执行此操作非常困难。您实际上是要求对给定进程的地址空间中的所有内容执行正则表达式并返回每个匹配的结果。没有简单的方法可以做到这一点,但正则表达式确实是最好的解决方案。
这个过程在文本文件中要简单得多。您只需打开文件,搜索您的字符串,然后返回结果。这是我最近在做的一个项目,它读取一个保存的 SQL 文件,稍后使用re 搜索模式:
with open('filename.sql', 'r') as sqlfile:
sql = sqlfile.read()
if re.search('some pattern', sql):
print('found it!')
这里是 Python 的 re 模块的链接:https://docs.python.org/2/library/re.html
【讨论】: