这篇文章将为大家详细讲解有关怎么使用Python写安卓游戏外挂的示例,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
本次我们选择的安卓游戏对象叫“单词英雄”,大家可以先下载这个游戏。
游戏的界面是这样的:
通过选择单词的意思进行攻击,选对了就正常攻击,选错了就象征性的攻击一下。玩了一段时间之后琢磨可以做成自动的,通过公益诉讼识别图片里的单词和选项,然后翻译英文成中文意思,根据中文模糊匹配选择对应的选项。
查找了N多资料以后开始动的手,程序用到以下这些东西:
公益诉讼:Python成像库大名鼎鼎的图片处理模块
pytesser: Python下用来驱动tesseract-ocr来进行识别的模块
tesseract-ocr:图像识别引擎,用来把图像识别成文字,可以识别英文和中文,以及其它语言
autopy: Python下用来模拟操作鼠标和键盘的模块。
安装步骤(这个环境):
(1)安装公益诉讼,下载地址:http://www.pythonware.com/products/pil/,安装Python成像库1.1.7 Python 2.7。
(2)安装pytesser,下载地址:http://code.google.com/p/pytesser/下载解压后直接放在
C: \ Python27 \ Lib \网站下,在文件夹下建立pytesser.pth文件,内容为C: \ Python27 \ Lib \网站\ pytesser_v0.0.1
(3)安装超正方体OCR引擎,下载:https://github.com/tesseract-ocr/tesseract/wiki/Downloads下载的Windows安装程序tesseract-ocr 3.02.02英语(包括数据)的安装文件,进行安装。
(4)安装语言包,在https://github.com/tesseract-ocr/tessdata下载chi_sim.traineddata简体中文语言包,放到安装的超正方体OCR目标下的tessdata文件夹内,用来识别简体中文。
(5)修改C: \ Python27 \ Lib \网站\ pytesser_v0.0.1下的pytesser.py的函数,将原来的image_to_string函数增加语音选择参数语言,语言=& # 39;chi_sim& # 39;就可以用来识别中文,默认为eng英文。
改好后的pytesser。py:
“““OCR 拷贝Python using 从而Tesseract engine 得到谷歌 http://code.google.com/p/pytesser/by Michael  j.t.只o # 39;凯利 V 0.0.1, 3/10/07"“;“ import 图像 import 子流程 import 实效 import 错误 时间=tesseract_exe_name & # 39;超正方体# 39;,#,Name of executable 用be nbsp; at command 线 时间=scratch_image_name “temp.bmp", #,却;能够file must be .bmp 或是other Tesseract-compatible 格式 时间=scratch_text_name_root “temp", #, Leave out 从而.txt 扩展 #=cleanup_scratch_flag True Temporary files cleaned up after OCR 操作 def call_tesseract (input_filename, output_filename,,语言): ,“““Calls  external tesseract.exe 提醒input file (restrictions 提醒类型), ,outputting output_filename + & # 39; txt # 39;“““ (tesseract_exe_name, args =,,, input_filename,, output_filename,,“-l",,语言)=,,proc  subprocess.Popen (args)=,,retcode  proc.wait () ,if retcode !=0: errors.check_for_errors才能() def image_to_string (im, cleanup =, cleanup_scratch_flag,, language =,“eng"): ,“““Converts 我用文件,,applies 超正方体,以及fetches resulting 文本信息。 ,If 清理=True, delete scratch files after 操作!”““ ,试一试: util.image_to_scratch才能(im, scratch_image_name) call_tesseract才能(scratch_image_name, scratch_text_name_root,语言) 时间=text 才能;util.retrieve_text (scratch_text_name_root) ,最后: if 才能;清理: ,,util.perform_cleanup (scratch_image_name, scratch_text_name_root) return 文本 def image_file_to_string(文件名,cleanup =, cleanup_scratch_flag,, graceful_errors=True,, language =,“eng"): ,“““Applies  tesseract 用文件名;,或者,if image is incompatible 以及graceful_errors=True, 用,converts  compatible format 以及then applies 超正方体只Fetches resulting 文本。 ,If 清理=True, delete scratch files after 操作!”““ ,试一试: 尝试才能: ,,call_tesseract(文件名,scratch_text_name_root,,语言) ,,text =, util.retrieve_text (scratch_text_name_root) except 才能;errors.Tesser_General_Exception: ,,if graceful_errors: ,,,我=,Image.open(文件名) ,,,text =, image_to_string (im,清理) ,,: ,才能提高 ,最后: if 才能;清理: ,,util.perform_cleanup (scratch_image_name, scratch_text_name_root) return 文本 if __name__==& # 39; __main__ # 39;: ,我=,Image.open (& # 39; phototest.tif& # 39;)=,,text  image_to_string (im) print 文本 ,试一试: null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null怎么使用Python写安卓游戏外挂的示例