优雅的进行账号密码的输入
本文由按键学院提供技术支持
按键学院交流①群(已满):376122403
按键学院交流②群(已满):372671254
按键学院交流③群(快满):170084238
按键学院安卓①群:115768679
相信做过脚本的挺多同学应该有接触过账号密码的输入,我们正常的思路就是流程式的,先点账号的框,再输入账号,然后点密码的框,再输入密码,这种方法无可厚非,处理的好的话可以实现功能,但是有些第三方界面,不同设备的输入框的位置并不一样,往往需要经过大量匹配,这里我们可以采用取巧的办法,当然并不是所有应用都适用,但是多学一点不也挺好?
|
思路 我们打开游戏的时候,经常发现游戏已经为我们输入好了账号密码,这个数据是存在哪的呢?我们可以通过断网再打开的方式来试验,如果断网后打开依旧帮我们输入好了,那么证明这是存储在本地的数据,我们可以通过寻找到存储数据的配置文件来进行文本的替换实现优雅的换号,不用考虑各种分辨率问题,速度也快。
方法
先确定游戏是否能够使用此方式来进行,可以的话找到配置文件的位置,一般是XML文件(文件路径在data/data/相关应用包名,不同设备路径可能不一样,仔细寻找),比如:- 您所在的用户组无法下载或查看附件
这说明这是个使用cocos2dx引擎制作的游戏的配置文件,我们点开可以得到这样的数据:
- 您所在的用户组无法下载或查看附件
我们可以先打开一次游戏看看默认输入的账号信息是什么,尝试能否找到内容,这里,我成功的在Identity_Name这一个name标签里得到默认输入的账号:
- 您所在的用户组无法下载或查看附件
寻找到了之后,我们是不是可以在启动游戏之前,就将默认的输入信息改变成我们自己要输入的信息已达到我们想要的目的?
好的,当我们找到之后要怎么修改呢,这么多的内容,别急,我们可以使用插件来帮我们几步就完成,导入Str.lua插件,配合正则运算,就可以实现想要替换的内容了。
Str.lua插件主要是对字符串进行处理,功能强大,需要移动到手机的/mnt/sdcard/MobileAnJian/plugin目录下:
- 您所在的用户组无法下载或查看附件
使用前,使用import “Str.lua”引用文件,命令格式为插件名+命令,比如替换字符串使用Str.replace命令,使用文本文档打开可以查找到用法。
代码- import "Str.lua"
- Dim 返回值
- 返回值=File.Read("/data/data/包名/shared_prefs/Cocos2dxPrefsFile.xml") //包名为你寻找的应用的包名
- Dim arr()
- arr=File.ReadLines("/data/data/包名/shared_prefs/Cocos2dxPrefsFile.xml") //包名为你寻找的应用的包名
- For Each n In arr
- Dim b =Str.find(n,"Identity_Name") //寻找含有Identity_Name这个字符串的元素
- If b <> null Then //不为null值则说明找到
- Dim c=Str.Replace(n,"(Identity_Name"">).*<", "%1Stan<") //使用正则运算替换字符串
- TracePrint c //输出替换后的内容
- End If
- Next
复制代码 我们成功的将寻找到的数据改成了字符串“Stan”:
- 您所在的用户组无法下载或查看附件
附件:
- 您所在的用户组无法下载或查看附件
正则运算:
【院刊】-【201505期】正则实战——轻松完成论坛贴吧一键登录签到