2015-10-23 127 views
0

我想制作一个程序,允许我选择一个文件或一个进程并在其中搜索一个值。 (如果它存在,我希望它返回所有存在它的值的地址) 例如,如果我选择Chrome并搜索我的声誉值,它应该会得到包含声誉变量的地址(加上所有的其他地址包含相同的值)。 有没有办法做这样的事情? (这个程序的一个例子是'Cheat Engine' - 这正是我想要构建的)检查一个文件中是否存在一个值

回答

0

不确定您的示例,因为它可能涉及来自第三方(Google)的一些信息,但用于检查是否一个值存在于一个文件中,你可以轻松地加载文件并使用一个if语句。

with open('file') as f: 
    for line in f: 
     if 'value' in line: 
      do_whatever_you_want 
+0

我想过这个,但是因为我不确定文件是如何保存的(以什么格式),我不知道是否可以按照我想要的方式来做。 想想这样,你选择一个过程,其中有一个值和一个按钮将值更改为随机值。我想要做的是能够通过该值查找保存的变量的地址。如果有什么不清楚的地方,请告诉我。 – pystudent

+0

@pystudent很好,你真的需要知道文件的格式是什么,否则,地球怎么知道在哪里寻找变量的值?假设一个纯文本文件,其中变量逐行存储,例如,您可以找到该变量,然后打印整行。然后,如果你看到你能够使用正则表达式来完善输出。 – yzT

+0

'Cheat Engine'是一个完全符合我想要的程序,他们做得非常快,所以我想还有另一种解决方案/我没有让自己清楚。 – pystudent

0

这样做与可执行文件是非常困难的。你实质上是要求对给定进程的地址空间中的所有内容都进行正则表达式,并返回每个匹配的结果。有没有简单的方法来做到这一点,但正则表达式确实是最好的解决方案。

这个过程在文本文件中简单得多。您只需打开文件,搜索您的字符串并返回结果。下面是读取使用re保存SQL文件,该文件,然后搜索模式最近的一个项目,我一直在说:

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

+0

'Cheat Engine'是一个完全符合我想要的程序,他们的速度非常快,所以我想还有另一个解决方案/我没有让自己清楚。 – pystudent

相关问题