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使用Flask框架获取用户IP地址的方法
Mar 21 Python
简析Python的闭包和装饰器
Feb 26 Python
Python使用自带的ConfigParser模块读写ini配置文件
Jun 26 Python
Django压缩静态文件的实现方法详析
Aug 26 Python
Python实现正则表达式匹配任意的邮箱方法
Dec 20 Python
python多线程并发让两个LED同时亮的方法
Feb 18 Python
python中列表的切片与修改知识点总结
Jul 23 Python
解析PyCharm Python运行权限问题
Jan 08 Python
解决Python 异常TypeError: cannot concatenate 'str' and 'int' objects
Apr 08 Python
Python 远程开关机的方法
Nov 18 Python
只用20行Python代码实现屏幕录制功能
Jun 02 Python
Python类方法总结讲解
Jul 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
将PHP作为Shell脚本语言使用
2006/10/09 PHP
php无限遍历文件夹示例分享
2014/03/04 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(三)
2014/06/23 PHP
PHP导入导出Excel代码
2015/07/07 PHP
PHP+jQuery翻板抽奖功能实现
2015/10/19 PHP
使用WordPress发送电子邮件的相关PHP函数用法解析
2015/12/15 PHP
centos7上编译安装php7以php-fpm方式连接apache
2018/11/08 PHP
用javascript实现页面打印的三种方法
2007/03/05 Javascript
Extjs学习笔记之六 面版
2010/01/08 Javascript
jQuery 回调函数(callback)的使用和基础
2015/02/26 Javascript
js数组常见操作及数组与字符串相互转化实例详解
2015/11/10 Javascript
jQuery进行组件开发完整实例
2015/12/15 Javascript
JavaScript提高性能知识点汇总
2016/01/15 Javascript
利用HTML5+Socket.io实现摇一摇控制PC端歌曲切换
2017/01/13 Javascript
jQuery实现一个简单的验证码功能
2017/06/26 jQuery
vue+iview写个弹框的示例代码
2017/12/05 Javascript
vue 简单自动补全的输入框的示例
2018/03/12 Javascript
基于jQuery实现无缝轮播与左右点击效果
2018/05/13 jQuery
详解写好JS条件语句的5条守则
2019/02/28 Javascript
JS面向对象之单选框实现
2020/01/17 Javascript
JS实现audio音频剪裁剪切复制播放与上传(步骤详解)
2020/07/28 Javascript
在vue项目中 实现定义全局变量 全局函数操作
2020/10/26 Javascript
vue项目如何监听localStorage或sessionStorage的变化
2021/01/04 Vue.js
从零学Python之入门(四)运算
2014/05/27 Python
Python中dictionary items()系列函数的用法实例
2014/08/21 Python
在arcgis使用python脚本进行字段计算时是如何解决中文问题的
2015/10/18 Python
举例讲解Python中字典的合并值相加与异或对比
2016/06/04 Python
Python和Java的语法对比分析语法简洁上python的确完美胜出
2019/05/10 Python
Python高级特性 切片 迭代解析
2019/08/23 Python
详解python statistics模块及函数用法
2019/10/27 Python
HTML5实现音频和视频嵌入的方法
2018/08/22 HTML / CSS
使用PDF.JS插件在HTML中预览PDF文件的方法
2018/08/29 HTML / CSS
晚会主持词开场白
2014/03/17 职场文书
元宵节晚会主持人串词
2014/03/25 职场文书
保险公司岗前培训工作总结
2015/10/24 职场文书
详解Redis瘦身指南
2021/05/26 Redis