[按键精灵]对cookies文件进行读写操作
大家好,我是公众号3分钟学堂的郭立员~
前言
前些天有群友问Cookies文件怎么修改里面的内容,这个我之前也没有用安卓按键修改过,只是之前看过Cookies文件就是被隐藏后缀的.db数据库。
既然是.db数据就可以用sqlite3.lua插件处理读写问题。
操作步骤
第一步:使用工具打开Cookies文件,看一下它内部的表的结构。
可以使用的工具:sqlcipher.exe 或者SQLiteStudio
第二步:测试一下能否正常读取指定值
Import "sqlite3.lua"
Dim DBpath ="/sdcard/pictures/Cookies"
Dim ret=sqlite3.SQLSelect(DBpath, "cookies", "value","WHERE name='authToken'")
TracePrint encode.TableToJson(ret)
逐个介绍一下SQLSelect的参数
①DBpath 是cookies文件的路径
②cookies 是数据库中的一个表的名称
③value 是表中某一列的列名
④WHERE name='authToken' 是sqlite语句,定位name的值为autoToken那一行。
通过行和列的定位,精准指向某个单元格,获取到这个单元格的值。
当前脚本第13行:[{"value":"UI23FxbD3aAKyNP5kMZnKLz3Lbn2bMGOk5bo26rJ2RHgCZe8xOYTr6ZXy8YRAQ+ufjJOyFqbxKq8ev4Dkxo9Y5y2vzqUdp6SE00rUMkUKpHx3CF+5ujFn2W52Rgbq8XBsj0SVNzQD4a9LwePXem1NStGFrgBrRqXAUV/Y62mJ2mhBauHwBgH9w=="}]
注意命令的返回值是一个键值对的表。
第三步:修改cookies某个值
Import "sqlite3.lua"
Dim DBpath ="/sdcard/pictures/Cookies"
Dim NewRecord ={"value":"UI25FxbD3aAKyNP5kMZnKLz3Lbn2bMGOk5bo26rJ2RHgCZe8xOYTr6ZXy8YRAQ+ufjJOyFqbxKq8ev4Dkxo9Y5y2vzqUdp6SE00rUMkUKpHx3CF+5ujFn2W52Rgbq8XBsj0SVNzQD4a9LwePXem1NStGFrgBrRqXAUV/Y62mJ2mhBauHwBgH9w=="}
TracePrint sqlite3.SQLUpdate(DBpath, "cookies",NewRecord,"WHERE name='authToken'")
修改cookies用的命令是SQLUpdate它的参数和读取的差不多。
唯一不同的是NewRecord 这个参数,它的格式是一个表,包括列名和要修改的值,看格式其实和读取的返回值非常像。
{"value":"UI25FxbD3aAKyNP5kMZnKLz3Lbn2bMGOk5bo26rJ2RHgCZe8xOYTr6ZXy8YRAQ+ufjJOyFqbxKq8ev4Dkxo9Y5y2vzqUdp6SE00rUMkUKpHx3CF+5ujFn2W52Rgbq8XBsj0SVNzQD4a9LwePXem1NStGFrgBrRqXAUV/Y62mJ2mhBauHwBgH9w=="}
我们想要修改成什么参数,就直接修改这个键值对的值。
延伸:
在这个cookies文件中有一个user的属性,它的值是一个json格式。
这是一个混搭的形式:
表中含有json,这种形式无论是读取还是修改,都要进行多次的json和table互转。
分清楚它们的数据类型:
表table 可以认为是数组类型
json 是字符串类型
这种json和table混搭的形式容易出错的地方就是直接对json形式使用键值对提取,导致无法读取,我们知道json如果想要提取某个内容,先要转table,在用键值对提取。
=正文完=
请先 后发表评论~