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中的字典容器
Apr 14 Python
Python本地与全局命名空间用法实例
Jun 16 Python
Python ftp上传文件
Feb 13 Python
Python编程中对super函数的正确理解和用法解析
Jul 02 Python
通过Py2exe将自己的python程序打包成.exe/.app的方法
May 26 Python
python中不能连接超时的问题及解决方法
Jun 10 Python
解决reload(sys)后print失效的问题
Apr 25 Python
读取nii或nii.gz文件中的信息即输出图像操作
Jul 01 Python
Python利用matplotlib绘制折线图的新手教程
Nov 05 Python
python爬取豆瓣电影排行榜(requests)的示例代码
Feb 18 Python
深入解析NumPy中的Broadcasting广播机制
May 30 Python
使用python创建股票的时间序列可视化分析
Mar 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中的日期及时间
2006/11/23 PHP
ThinkPHP V2.2说明文档没有说明的那些事实例小结
2015/07/01 PHP
JS+PHP实现用户输入数字后显示最大的值及所在位置
2017/06/19 PHP
JS获取html对象的几种方式介绍
2013/12/05 Javascript
javascript 模拟坦克大战游戏(html5版)附源码下载
2014/04/08 Javascript
JavaScript DOM进阶方法
2015/04/13 Javascript
javascript+html5实现绘制圆环的方法
2015/07/28 Javascript
jQuery实现带渐显效果的人物多级关系图代码
2015/10/16 Javascript
使用javascript插入样式
2016/03/14 Javascript
js获取隐藏元素宽高的实现方法
2016/05/19 Javascript
Angular2内置指令NgFor和NgIf详解
2016/08/03 Javascript
jQuery 移动端拖拽(模块化开发,触摸事件,webpack)
2016/10/28 Javascript
Bootstrap 下拉多选框插件Bootstrap Multiselect
2017/01/22 Javascript
$.browser.msie 为空或不是对象问题的多种解决方法
2017/03/19 Javascript
详解webpack进阶之loader篇
2017/08/23 Javascript
fullpage.js最后一屏滚动方式
2018/02/06 Javascript
vue-quill-editor富文本编辑器简单使用方法
2018/09/21 Javascript
ant design实现圈选功能
2019/12/17 Javascript
js实现整体缩放页面适配移动端
2020/03/31 Javascript
[25:45]2018DOTA2亚洲邀请赛4.5SOLO赛 Sylar vs Paparazi
2018/04/06 DOTA
[01:19:33]DOTA2-DPC中国联赛 正赛 iG vs VG BO3 第一场 2月2日
2021/03/11 DOTA
在Python程序中操作MySQL的基本方法
2015/07/29 Python
Windows系统下使用flup搭建Nginx和Python环境的方法
2015/12/25 Python
Python 3.x读写csv文件中数字的方法示例
2017/08/29 Python
Django 连接sql server数据库的方法
2018/06/30 Python
python实现文件助手中查看微信撤回消息
2019/04/29 Python
Python队列RabbitMQ 使用方法实例记录
2019/08/05 Python
Python 实用技巧之利用Shell通配符做字符串匹配
2019/08/23 Python
python基于socket实现的UDP及TCP通讯功能示例
2019/11/01 Python
python使用opencv在Windows下调用摄像头实现解析
2019/11/26 Python
Python中if有多个条件处理方法
2020/02/26 Python
css3 clip实现圆环进度条的示例代码
2018/02/07 HTML / CSS
俄罗斯游戏商店:Buka
2020/03/01 全球购物
商品陈列协议书
2014/09/29 职场文书
车间主任岗位职责范本
2015/04/08 职场文书
JavaScript实现酷炫的鼠标拖尾特效
2022/02/18 Javascript