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 字典(Dictionary)操作详解
Mar 11 Python
测试、预发布后用python检测网页是否有日常链接
Jun 03 Python
python利用正则表达式提取字符串
Dec 08 Python
Python实现的密码强度检测器示例
Aug 23 Python
python实现数据导出到excel的示例--普通格式
May 03 Python
python基于socket进行端口转发实现后门隐藏的示例
Jul 25 Python
python opencv 简单阈值算法的实现
Aug 04 Python
Python使用turtle库绘制小猪佩奇(实例代码)
Jan 16 Python
python3实现往mysql中插入datetime类型的数据
Mar 02 Python
Python文件时间操作步骤代码详解
Apr 13 Python
Django CBV模型源码运行流程详解
Aug 17 Python
PyCharm最新激活码(2020/10/27全网最新)
Oct 27 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
[原创]ThinkPHP中SHOW_RUN_TIME不能正常显示运行时间的解决方法
2015/10/10 PHP
php实现倒计时效果
2015/12/19 PHP
thinkPHP数据查询常用方法总结【select,find,getField,query】
2017/03/15 PHP
浅谈PHP面向对象之访问者模式+组合模式
2017/05/22 PHP
yii框架结合charjs实现统计30天数据的方法
2020/04/04 PHP
ExtJs 3.1 XmlTreeLoader Example Error
2010/02/09 Javascript
jQuery 选择器理解
2010/03/16 Javascript
js限制文本框只能输入数字(正则表达式)
2012/07/15 Javascript
js中top/parent/frame概述及案例应用
2013/02/06 Javascript
编写高性能Javascript代码的N条建议
2015/10/12 Javascript
bootstrap布局中input输入框右侧图标点击功能
2016/05/16 Javascript
jQuery实现打开页面渐现效果示例
2016/07/27 Javascript
微信小程序 倒计时组件实现代码
2016/10/24 Javascript
vuejs手把手教你写一个完整的购物车实例代码
2017/07/06 Javascript
JS数组交集、并集、差集的示例代码
2017/08/23 Javascript
Angular2 父子组件通信方式的示例
2018/01/29 Javascript
基于cropper.js封装vue实现在线图片裁剪组件功能
2018/03/01 Javascript
学习Vue组件实例
2018/04/28 Javascript
深入理解vue-class-component源码阅读
2019/02/18 Javascript
解决cordova+vue 项目打包成APK应用遇到的问题
2019/05/10 Javascript
Python多线程编程简单介绍
2015/04/13 Python
Python通过90行代码搭建一个音乐搜索工具
2015/07/29 Python
python 计算文件的md5值实例
2017/01/13 Python
Python爬虫实现爬取京东手机页面的图片(实例代码)
2017/11/30 Python
python 限制函数执行时间,自己实现timeout的实例
2019/01/12 Python
基于OpenCV python3实现证件照换背景的方法
2019/03/22 Python
Python识别快递条形码及Tesseract-OCR使用详解
2019/07/15 Python
HTML5标签与HTML4标签的区别示例介绍
2013/07/18 HTML / CSS
Omio荷兰:预订火车、巴士和机票
2018/11/04 全球购物
澳大利亚领先的女帽及配饰公司:Morgan&Taylor
2019/12/01 全球购物
优秀学生干部个人的自我评价
2013/10/04 职场文书
海飞丝的广告词
2014/03/20 职场文书
同意转租证明
2015/06/24 职场文书
企业管理不到位检讨书
2019/06/27 职场文书
教您怎么制定西餐厅运营方案 ?
2019/07/05 职场文书
springboot集成redis存对象乱码的问题及解决
2022/06/16 Java/Android