使用别人的库的登录程序,会打印出一些字段,我想等识别到打印出特定语句的时候,再进行我之后的代码,请问有什么方法可以定位到库里面打印的那句话吗?
如果符合这两个条件,那应该能找到。
1、库没有加密, 能看到源代码
2、print时候,有关键字,这个关键字是print 函数里的明文 。
比如原语句为 print("文件数据总量为",data_cnt) ,【文件数据总量为】这个就是明文,可以搜索到
感觉可以做个类似代理的过程,把需要打印的字段重定向到一个文件里,然后再打印出来,并根据文件里的内容进行判断
ps.其实定义一个代理类更合逻辑一些,省去了暂存文件
import sys, os
stdout_save = sys.stdout # 暂存stdout
f = open('test.txt', 'w')
sys.stdout = f # 将stdout定位至'test.txt'文件
'''
login code here
'''
f.close() # flush
sys.stdout = stdout_save # 恢复stdout
print_info = open('test.txt', 'r').read()
print(print_info) # 打印原本信息
os.remove('test.txt') # 删除临时文件
# 之后通过检测print_info内容判断是否为特定语句