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 01 Python
python实现可将字符转换成大写的tcp服务器实例
Apr 29 Python
Python编写一个优美的下载器
Apr 15 Python
python如何创建TCP服务端和客户端
Aug 26 Python
python中多个装饰器的执行顺序详解
Oct 08 Python
python 获得任意路径下的文件及其根目录的方法
Feb 16 Python
python3+pyqt5+itchat微信定时发送消息的方法
Feb 20 Python
Pycharm使用之设置代码字体大小和颜色主题的教程
Jul 12 Python
使用Pandas对数据进行筛选和排序的实现
Jul 29 Python
python 引用传递和值传递详解(实参,形参)
Jun 05 Python
Python模块常用四种安装方式
Oct 20 Python
pycharm 使用tab跳出正在编辑的括号(){}{}等问题
Feb 26 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
destoon各类调用汇总
2014/06/20 PHP
php支持中文字符串分割的函数
2015/05/28 PHP
Django中通过定时任务触发页面静态化的处理方式
2018/08/29 PHP
解决Laravel5.2 Auth认证退出失效的问题
2019/10/14 PHP
PHP基于进程控制函数实现多线程
2020/12/09 PHP
JS控件autocomplete 0.11演示及下载 1月5日已更新
2007/01/09 Javascript
JS 获取span标签中的值的代码 支持ie与firefox
2009/08/24 Javascript
jQuery.prototype.init选择器构造函数源码思路分析
2013/02/05 Javascript
javascript模拟订火车票和退票示例
2014/04/24 Javascript
js实现全国省份城市级联下拉菜单效果代码
2015/09/07 Javascript
原生JavaScript实现瀑布流布局
2020/06/28 Javascript
js显示动态时间的方法详解
2016/08/20 Javascript
使用jQuery操作DOM的方法小结
2017/02/27 Javascript
快速解决vue-cli在ie9+中无效的问题
2018/09/04 Javascript
angular4 获取wifi列表中文显示乱码问题的解决
2018/10/20 Javascript
JavaScript使用小插件实现倒计时的方法讲解
2019/03/11 Javascript
微信小程序 自定义弹窗实现过程(附代码)
2019/12/05 Javascript
electron+vue实现div contenteditable截图功能
2020/01/07 Javascript
javascript设计模式 ? 桥接模式原理与应用实例分析
2020/04/13 Javascript
JS变量提升原理与用法实例浅析
2020/05/22 Javascript
8个非常实用的Vue自定义指令
2020/12/15 Vue.js
python类和函数中使用静态变量的方法
2015/05/09 Python
K-means聚类算法介绍与利用python实现的代码示例
2017/11/13 Python
python opencv人脸检测提取及保存方法
2018/08/03 Python
Python3标准库总结
2019/02/19 Python
python 消除 futureWarning问题的解决
2019/12/25 Python
PyCharm+Miniconda3安装配置教程详解
2021/02/16 Python
数以千计的折扣工业产品:ESE Direct
2018/05/20 全球购物
ECCO英国官网:丹麦鞋履品牌
2019/09/03 全球购物
哈萨克斯坦移动和数字技术在线商店:SatelOnline.kz
2020/09/04 全球购物
shell的种类有哪些
2015/04/15 面试题
学校领导干部民主生活会整改方案
2014/09/29 职场文书
普通党员整改措施
2014/10/24 职场文书
大学团日活动总结书
2015/05/11 职场文书
2015年依法治校工作总结
2015/07/27 职场文书
python函数的两种嵌套方法使用
2022/04/02 Python