怎么使用Python写安卓游戏外挂的示例

  介绍

这篇文章将为大家详细讲解有关怎么使用Python写安卓游戏外挂的示例,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

本次我们选择的安卓游戏对象叫“单词英雄”,大家可以先下载这个游戏。

游戏的界面是这样的:

怎么使用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写安卓游戏外挂的示例