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 psutil模块简单使用实例
Apr 28 Python
浅析Python的web.py框架中url的设定方法
Jul 11 Python
Python实现比较扑克牌大小程序代码示例
Dec 06 Python
浅谈django三种缓存模式的使用及注意点
Sep 30 Python
pyshp创建shp点文件的方法
Dec 31 Python
Python嵌套式数据结构实例浅析
Mar 05 Python
Python 取numpy数组的某几行某几列方法
Oct 24 Python
解决python 上传图片限制格式问题
Oct 30 Python
如何基于python操作json文件获取内容
Dec 24 Python
Python接口测试文件上传实例解析
May 22 Python
Python日志器使用方法及原理解析
Sep 27 Python
Pytorch GPU内存占用很高,但是利用率很低如何解决
Jun 01 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
上海永华YH-R296(华普R-96)12波段立体声收音机的分析和打理
2021/03/02 无线电
php数组去除空值函数分享
2015/02/02 PHP
最新版本PHP 7 vs HHVM 多角度比较
2016/02/14 PHP
去除链接虚线全面分析总结
2006/08/15 Javascript
jQuery 判断元素上是否绑定了事件
2009/10/28 Javascript
5秒后跳转效果(setInterval/SetTimeOut)
2013/05/03 Javascript
解析offsetHeight,clientHeight,scrollHeight之间的区别
2013/11/20 Javascript
jquery的live使用注意事项
2014/02/18 Javascript
jQuery实现渐变弹出层和弹出菜单的方法
2015/02/20 Javascript
javascript实时显示当天日期的方法
2015/05/20 Javascript
介绍JavaScript的一个微型模版
2015/06/24 Javascript
vuejs响应用户事件(如点击事件)
2017/03/14 Javascript
vue+vue-validator 表单验证功能的实现代码
2017/11/13 Javascript
详解angular应用容器化部署
2018/08/14 Javascript
使用JavaScript保存文本文件到本地的两种方法
2019/01/22 Javascript
小程序中this.setData的使用和注意事项
2019/08/28 Javascript
vue项目中锚点定位替代方式
2019/11/13 Javascript
JS Thunk 函数的含义和用法实例总结
2020/04/08 Javascript
详解vue v-model
2020/08/31 Javascript
[02:09:59]火猫TV国士无双dota2 6.82版本详解(下)
2014/09/29 DOTA
[01:32]2016国际邀请赛中国区预选赛CDEC战队教练采访
2016/06/26 DOTA
[01:00:59]VP VS VG Supermajor小组赛胜者组第二轮 BO3第二场 6.2
2018/06/03 DOTA
Python contextlib模块使用示例
2015/02/18 Python
Python实现简单的可逆加密程序实例
2015/03/05 Python
详解python时间模块中的datetime模块
2016/01/13 Python
深入理解Python对Json的解析
2017/02/14 Python
Python利用heapq实现一个优先级队列的方法
2019/02/03 Python
python怎么判断模块安装完成
2020/06/19 Python
opencv 图像滤波(均值,方框,高斯,中值)
2020/07/08 Python
谈谈python垃圾回收机制
2020/09/27 Python
Jupyter安装拓展nbextensions及解决官网下载慢的问题
2021/03/03 Python
美国最佳选择产品网站:Best Choice Products
2019/05/27 全球购物
人事主管岗位职责
2014/01/30 职场文书
2015年世界急救日宣传活动方案
2015/05/06 职场文书
python如何正确使用yield
2021/05/21 Python
MySQL8.0 Undo Tablespace管理详解
2022/06/16 MySQL