Oracle 11g 用户名和默认密码

  最近安装的Oracle提示密码过期,在plsql中修改了之后,忘了在Java程序里修改,结果就没发访问了;由于程序在不断尝试连接数据库,结果很快失败尝试次数达到了锁定的上限——10次,于是只能想办法修改Oracle相关设置了。基本思路如下:
1. 找到默认管理员账户和密码进去操作
参考这篇文章,在Oracle安装的Windows Server机器上,打开sqlplus,用system/manager来登录
2. 修改过期的账户设置
参考这篇文章进行配置,具体SQL代码如下:

SELECT username,PROFILE FROM dba_users;-- 查看用户的proifle是哪个,一般是default
SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';-- 查看指定概要文件的密码有效期设置
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;-- 将密码有[......]

继续阅读 »

X220 甘大方案改13.3屏幕机器 1.43 改版BIOS(去掉白名单、屏蔽LVDS)下载

  前段时间闲鱼上入了一台由X220改13.3屏幕的X320机器(甘大a.gain方案),看着改版BIOS能够破解内存支持(最高支持到1866),开启隐藏的Advanced菜单,心痒痒就手贱直接升级了1.43版的改版BIOS,结果进系统默认分辨率只有1333*768,而且没办法向上调节,简单的说就是灰蒙蒙的一片。

  赶紧去QQ里找改版BIOS,群里只提供了如何Path的方法和屏蔽LVDS的文件,没有提供现成的bios,于是开始研究,用PhoenixTool解包BIOS,替换0AFCDD7A-345E-415E-926D-C5971B580400_2360.ROM这个文件,然后再打包,最后刷机升级bios,一切搞定。

  1. 附成品bios下载:
    最终成品BIOS
    屏蔽LVDS、开启高级菜单、支持高频内存、去掉白名单
  2. 其他相关工具:
    PhoenixTool
    解包、打包工具
    X220 v1.43 Modified BIOS
    开启高级菜单、支持高频内存、去掉白名单,但未屏蔽LVDS,适用于一般的X220
    X220_BIOS_PATCH
    屏蔽LVDS的模块
    参考教程

[……]

继续阅读 »

Python3 写入csv文件每行数据后都多一空行 问题解决

Python3处理好的数据导出csv文件,需要做到以下两点才能正确处理:
1. 以w模式而不是wb模式打开
2. 加上newline=”

正确代码如下:

# 导出csv文件代码片段:
with open('mails.csv', 'w', newline='') as csvfile:
wresource = csv.writer(csvfile, dialect='excel')
wresource.writerow(['发件时间', '发件人', '邮件主题'])
wresource.writerows(rs)

原因分析:
newline=” suppresses text mode newline handling. On Windows, failing to do this will write \r\r\n file line endings instead of the correct \r\n. This is mentioned in the 3.X csv.reader documentation only, but csv.wr[……]

继续阅读 »

Python 正则表达式处理 邮件收件人信息

直接上代码

>>> import re
>>> email = '"=?gb2312?B?wfsD98D7?=" <abc@qq.com>'
# 匹配‘<’开头‘>’结尾的字符串,也就是需要的邮件地址
>>> r1 = r'<(.+?)>'
>>> email1 = re.search(r1,email)
>>> print(email1)
<_sre.SRE_Match object; span=(24, 36), match='<abc@qq.com>'>
>>> print(email1.group())
<abc@qq.com>
# group(0)等同于group(),不填写参数默认返回group(0),也就是匹配的整个字符串
>>> print(email1.group(0))
<abc@qq.com>
>>> print(email1.group[......]

继续阅读 »

Python 列表(list)&元组(tuple)切片索引

Python中的元组&索引切片操作时概念与PHP之类的概念不太一致:

>>>list1 = ['1','2','3','4','5']
>>>list1[0:3]
#从索引是0的元素开始截取,直到索引为3停止,但**不包括**索引3。
['1','2','3']
[……]

继续阅读 »

配置PyCharm使用系统默认的Python环境

  在PyCharm下不能直接使用pip install的包,查了一下原来PyCharm自带了一套的Python环境,包括pip包系统,需要在项目配置里设置一下Python的路径,选择系统默认安装Python即可,具体:
  打开PyCharm,依次点选File->Settings->Project Interpreter->设置为你的Python路径 即可。[……]

继续阅读 »

Python 3.6 模块安装错误 “error: Microsoft Visual C++ 14.0 is required…”问题解决

在pip install 安装词云时遇到错误:error: Microsoft Visual C++ 14.0 is required.按照以下方案解决:
1. 下载whl文件
访问http://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud,
下载wordcloud-1.4.1-cp36-cp36m-win_amd64.whl到本地,选对Python版本和体系结构(32位还是64位)
2. 进到下载目录,按住shift点鼠标右键,进入CMD,运行命令安装即可

pip install wordcloud-1.4.1-cp36-cp36m-win_amd64.whl
[……]

继续阅读 »

Python3 函数返回值True/False

学习笔记,记录一下:
首先Python的True 或者False是区分大小写的;进一步讲Python是大小写敏感的
其次类似于PHP的的写法,Python对于if条件判断也有很简洁的写法:

return True if a > b else False
#更简洁
return [False,True][a > b]
#对比PHP,采用三元运算符
return a>b?True:False
[……]

继续阅读 »

Python 将两个长度相同的list合并为一一对应的字典dict

  1. 先准备俩长度相同的list

list1 = ['身高','体重','凶围']
list2 = ['170cm','55kg','34D']

  1. 用zip()函数把俩list中的元素形成一个个元组

list3 = zip(list1,list2)
[('身高','170cm'),('体重','55kg'),('凶围','34D')]

  1. 形成字典dict

dict( (name,value) for name,value in list3)

  1. 参考
    1 2

[……]

继续阅读 »

破解读取安卓版微信本地数据库

1.获取数据库文件
微信采用了sqlite作为数据库,第一步需要把数据库文件拿到手。首先在系统root的前提下,用root explorer(RE浏览器)进入目录 /data/data/com.tencent.mm/MicroMsg/微信号文件夹/,这个微信号文件夹是一长串数字,如果机器登录过多个微信帐号,那么这个文件夹会有多个,进入看一眼照片之类的就可以判断选择哪个,复制出来结尾为.db的文件,聊天记录存在EnMicroMsg.db这里,还有一些其他的db文件可选。

2.解密数据库
微信数据库文件采取了加密,首先需要解密之后,才能用sqlite相关工具和接口进行读取和查询
– 密码规则
这方面介绍很多,目前为止规则也没有变化(对腾讯来说改动加密规则影响太大成本太高),如下:
大写的IMEI + UIN 进行MD5加密 取32位小写 的前7位就是破解数据库的密码
其中IMEI在手机拨号界面按*#06#,弹出的俩IMEI号,记下第一个;我的手机IMEI是纯数字,不存在大小写;UIN一般在/data/data/com.tencent.mm/shared_prefs/aunt_info_[……]

继续阅读 »