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编程中三条常用的技巧
May 11 Python
Python实现模拟登录及表单提交的方法
Jul 25 Python
python链接oracle数据库以及数据库的增删改查实例
Jan 30 Python
好的Python培训机构应该具备哪些条件
May 23 Python
浅谈Series和DataFrame中的sort_index方法
Jun 07 Python
PyCharm的设置方法和第一个Python程序的建立
Jan 16 Python
计算机二级python学习教程(1) 教大家如何学习python
May 16 Python
十分钟搞定pandas(入门教程)
Jun 21 Python
python定位xpath 节点位置的方法
Aug 27 Python
python 3.8.3 安装配置图文教程
May 21 Python
Python爬虫之Selenium实现关闭浏览器
Dec 04 Python
Python OpenCV中的numpy与图像类型转换操作
Dec 11 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编程最快明白(第一讲 软件环境和准备工作)
2010/10/25 PHP
php中将地址生成迅雷快车旋风链接的代码[测试通过]
2011/04/20 PHP
163的邮件用phpmailer发送(实例详解)
2013/06/24 PHP
php中如何防止表单的重复提交
2013/08/02 PHP
php数据库备份还原类分享
2014/03/20 PHP
smarty模板引擎之内建函数用法
2015/03/30 PHP
简单谈谈PHP中strlen 函数
2016/02/27 PHP
CI框架整合smarty步骤详解
2016/05/19 PHP
thinkphp3.x自定义Action、Model及View的简单实现方法
2016/05/19 PHP
thinkphp3.2实现在线留言提交验证码功能
2017/07/19 PHP
PHP创建自己的Composer包方法
2018/04/09 PHP
加速IE的Javascript document输出的方法
2010/12/02 Javascript
JavaScript中实现PHP的打乱数组函数shuffle实例
2014/10/11 Javascript
jQuery实现横向带缓冲的水平运动效果(附demo源码下载)
2016/01/29 Javascript
Bootstrap Fileinput文件上传组件用法详解
2016/05/10 Javascript
js导出Excel表格超出26位英文字符的解决方法ES6
2017/11/15 Javascript
JQuery实现table中tr上移下移的示例(超简单)
2018/01/08 jQuery
基于Vue2.X的路由和钩子函数详解
2018/02/09 Javascript
express启用https使用小记
2019/05/21 Javascript
[01:38]DOTA2 2015国际邀请赛中国区预选赛 Showopen
2015/06/01 DOTA
[00:17]天涯墨客一技能展示
2018/08/25 DOTA
python和C语言混合编程实例
2014/06/04 Python
Python中使用不同编码读写txt文件详解
2015/05/28 Python
Python Paramiko模块的安装与使用详解
2016/11/18 Python
Python将多个list合并为1个list的方法
2018/06/27 Python
使用IDLE的Python shell窗口实例详解
2019/11/19 Python
Scrapy爬虫文件批量运行的实现
2020/09/30 Python
CSS3 display知识详解
2015/11/25 HTML / CSS
.net工程师笔试题
2012/06/09 面试题
大课间活动实施方案
2014/03/06 职场文书
关于保护环境的建议书
2014/08/26 职场文书
2014年党的群众路线教育实践活动整改措施(个人版)
2014/09/25 职场文书
党内外群众意见范文
2015/06/02 职场文书
南阳市白酒市场的调查报告
2019/11/08 职场文书
Python入门之基础语法详解
2021/05/11 Python
SpringBoot整合minio快速入门教程(代码示例)
2022/04/03 Java/Android