qpython3 读取安卓lastpass Cookies


Posted in Python onJune 19, 2016

之前我的博客写了python读取windows chrome Cookies,沿着同样的思路,这次本来想尝试读取安卓chrome Cookies,

但是可能是chrome的sqlite3版本比较高失败了,so改成读取lastpass 的Cookies。

背景介绍:

qpython3 是一个基于sl4a实现的能让python3跑在安卓手机上集成环境。

lastpass 是一个密码管理器,安卓版lastpass 内置了一个web浏览器。经分析lastpass的Cookies的表名,字段名与chrome一样,且value明文存储不加密。

requests 是一个python 第三方http库,qpython3中集成了。

sqlite3 是一个嵌入式数据库,很多软件和APP用到了sqlite。比如chrome lastpass浏览器用来存储cookies和访问记录之类的信息。

由于找不到好的方法让python代码以root权限读取其它APP数据的方法,

于是采用调用命令su -c cp 的方法直接把文件拷贝到SD卡再读取。

以下代码是qpython3下读出lastpass cookies并成功用于发送博客园闪存的例子:

运行环境 qpython3 安卓4.4 必须root 手机索尼L39H 安卓版lastpass,运行前需要在lastpass中登录一次博客园。

#-*-coding:utf8;-*-
#qpy:3
#qpy:console
import sqlite3
import os
import requests
from random import random
#path='/data/data/com.android.chrome/app_chrome/Default/Cookies'
path='/data/user/0/com.lastpass.lpandroid/app_webview/Cookies'
sd="/sdcard"

def sucp(source,dest):
  os.system("su -c cp -f %s %s" % ( source , dest ) )

def getcookies(host):  
  sql="select host_key,name,value from Cookies where host_key= '%s'" % host
  cu=sqlite3.connect('/sdcard/Cookies').cursor()
  result=cu.execute(sql).fetchall()
  cookies={name:value for host_key,name,value in result}
  cu.close()
  print(cookies)
  return cookies

sucp(path,sd)#用root权限拷贝文件到sd卡目录下

#以下代码用来发送博客园闪存
url="http://ing.cnblogs.com/ajax/Ing/MobileIngSubmit"
httphead={'User-Agegnt':'Safari/537.36',}
data={"content":"来自qpython3 发送的闪存 %s" % random(),"publicFlag":1}

res=requests.post(url,headers=httphead,data=data,cookies=getcookies('.cnblogs.com')).text
print(res)

另一个反向思路的应用是可以实现程序用帐号密码登录成功后,把Cookies信息写到用户浏览器的Cookies文件里,这样可以不需要手动输入帐号密码。

或者也可以实现一个浏览器的cookies导入到另一个浏览器里。→_→或者同步?

Python 相关文章推荐
简介二分查找算法与相关的Python实现示例
Aug 26 Python
Python对数据库操作
Mar 28 Python
在CentOS上配置Nginx+Gunicorn+Python+Flask环境的教程
Jun 07 Python
PYTHON压平嵌套列表的简单实现
Jun 08 Python
详解Python import方法引入模块的实例
Aug 02 Python
Python带动态参数功能的sqlite工具类
May 26 Python
django认证系统实现自定义权限管理的方法
Jul 16 Python
python3实现猜数字游戏
Dec 07 Python
python 伯努利分布详解
Feb 25 Python
PyTorch的torch.cat用法
Jun 28 Python
scrapy头部修改的方法详解
Dec 06 Python
Python3利用openpyxl读写Excel文件的方法实例
Feb 03 Python
python3实现读取chrome浏览器cookie
Jun 19 #Python
python3 实现的人人影视网站自动签到
Jun 19 #Python
python3实现暴力穷举博客园密码
Jun 19 #Python
在阿里云服务器上配置CentOS+Nginx+Python+Flask环境
Jun 18 #Python
Python中使用装饰器来优化尾递归的示例
Jun 18 #Python
举例讲解Python面向对象编程中类的继承
Jun 17 #Python
浅谈python为什么不需要三目运算符和switch
Jun 17 #Python
You might like
PHP判断文章里是否有图片的简单方法
2014/07/26 PHP
php中限制ip段访问、禁止ip提交表单的代码分享
2014/08/22 PHP
详解php的socket通信
2015/08/11 PHP
PHP+redis实现微博的拉模型案例详解
2019/07/10 PHP
Yii redis集合的基本使用教程
2020/06/14 PHP
JS 实现完美include载入实现代码
2010/08/05 Javascript
使用jQuery轻松实现Ajax的实例代码
2010/08/16 Javascript
js 页面关闭前的出现提示的实现代码
2011/05/25 Javascript
jquery实现点击其他区域时隐藏下拉div和遮罩层的方法
2015/12/23 Javascript
javascript事件委托的用法及其好处简析
2016/04/04 Javascript
5个最顶级jQuery图表类库插件【jquery插件库】
2016/05/05 Javascript
Bootstrap3使用typeahead插件实现自动补全功能
2016/07/07 Javascript
Javascript的this用法
2017/01/16 Javascript
Vue 换肤的示例实践
2018/01/23 Javascript
浅谈Vue下使用百度地图的简易方法
2018/03/23 Javascript
vue组件数据传递、父子组件数据获取,slot,router路由功能示例
2019/03/19 Javascript
基于JavaScript 实现拖放功能
2019/09/12 Javascript
JS实现压缩上传图片base64长度功能
2019/12/03 Javascript
Vue Render函数创建DOM节点代码实例
2020/07/08 Javascript
[03:37]2015国际邀请赛第四日现场精彩集锦
2015/08/08 DOTA
Python httplib模块使用实例
2015/04/11 Python
总结python实现父类调用两种方法的不同
2017/01/15 Python
python实现对指定字符串补足固定长度倍数截断输出的方法
2018/11/15 Python
python智联招聘爬虫并导入到excel代码实例
2019/09/09 Python
Python大数据之网络爬虫的post请求、get请求区别实例分析
2019/11/16 Python
用python中的matplotlib绘制方程图像代码
2019/11/21 Python
Python如何使用argparse模块处理命令行参数
2019/12/11 Python
使用 Python 遍历目录树的方法
2020/02/29 Python
购买大码女装:Lane Bryant
2016/09/07 全球购物
Linux管理员面试经常问道的相关命令
2014/12/12 面试题
产品促销活动策划书
2014/01/15 职场文书
员工考核管理制度
2014/02/02 职场文书
机修工工作职责
2014/02/21 职场文书
学生个人评语大全
2015/01/04 职场文书
创建文明城市倡议书
2015/04/28 职场文书
2015社区个人工作总结范文
2015/05/13 职场文书