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中marshal对象序列化的相关知识
Jul 01 Python
在Django的session中使用User对象的方法
Jul 23 Python
python实现决策树分类
Aug 30 Python
Python 实现某个功能每隔一段时间被执行一次的功能方法
Oct 14 Python
python将list转为matrix的方法
Dec 12 Python
对python PLT中的image和skimage处理图片方法详解
Jan 10 Python
Python 多维List创建的问题小结
Jan 18 Python
python使用BeautifulSoup与正则表达式爬取时光网不同地区top100电影并对比
Apr 15 Python
对python 中class与变量的使用方法详解
Jun 26 Python
python字典的setdefault的巧妙用法
Aug 07 Python
python matplotlib库绘制散点图例题解析
Aug 10 Python
Numpy实现卷积神经网络(CNN)的示例
Oct 09 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 5.0 Pear安装方法
2006/12/06 PHP
PHP IN_ARRAY 函数使用注意事项
2010/07/24 PHP
PHP中通过加号合并数组的一个简单方法分享
2011/01/27 PHP
smarty模板引擎基础知识入门
2015/03/30 PHP
php如何实现不借助IDE快速定位行数或者方法定义的文件和位置
2017/01/17 PHP
PHP实现QQ、微信和支付宝三合一收款码实例代码
2018/02/19 PHP
laravel-admin的图片删除实例
2019/09/30 PHP
读jQuery之十二 删除事件核心方法
2011/07/31 Javascript
用JavaScript获取DOM元素位置和尺寸大小的方法
2013/04/12 Javascript
在javascript中如何得到中英文混合字符串的长度
2014/01/17 Javascript
javascript实现在线客服效果
2015/07/15 Javascript
用js读写cookie的简单方法(推荐)
2016/08/08 Javascript
vue路由组件按需加载的几种方法小结
2018/07/12 Javascript
JavaScript Canvas实现验证码
2020/08/02 Javascript
vue项目中使用fetch的实现方法
2019/04/25 Javascript
layer的prompt弹出框,点击回车,触发确定事件的方法
2019/09/06 Javascript
微信小程序地图实现展示线路
2020/07/29 Javascript
[50:27]Secret vs VG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
python实现类似ftp传输文件的网络程序示例
2014/04/08 Python
Python argv用法详解
2016/01/08 Python
Python正则获取、过滤或者替换HTML标签的方法
2016/01/28 Python
python决策树之CART分类回归树详解
2017/12/20 Python
Python多进程入门、分布式进程数据共享实例详解
2019/06/03 Python
python字典排序的方法
2019/10/12 Python
tensorflow查看ckpt各节点名称实例
2020/01/21 Python
Python中使用filter过滤列表的一个小技巧分享
2020/05/02 Python
Python 爬虫性能相关总结
2020/08/03 Python
Python虚拟环境的创建和使用详解
2020/09/07 Python
Python 使用SFTP和FTP实现对服务器的文件下载功能
2020/12/17 Python
大学生村官承诺书
2014/03/28 职场文书
借款担保书范文
2014/05/13 职场文书
纪念九一八事变演讲稿:牢记九一八,屈辱怎能忘
2014/09/14 职场文书
终止或解除劳动合同及劳动关系的证明书
2014/10/06 职场文书
企业党员岗位承诺书
2015/04/27 职场文书
哈姆雷特读书笔记
2015/06/29 职场文书
解决go在函数退出后子协程的退出问题
2021/04/30 Golang