存档

‘日常’ 分类的存档

远程桌面发生身份验证错误

2018年6月8日 没有评论

最近在使用远程桌面时,突然发现无法使用了,提示远程桌面发生身份验证错误。按照道理来说,应该是在系统更新后发生的。

解决方法是通过组策略来调整:计算机配置>管理模板>系统>凭据分配>加密Oracle修正,选择启用并选择易受攻击。

从网络上的来源,易受攻击,是指使用 CredSSP 的客户端应用程序将通过支持回退到不安全的版本使远程服务器遭受攻击,但使用 CredSSP 的服务将接受未修补的客户端。

分类: 一句话, 日常 标签:

Axel:轻量级多线程下载工具

2018年4月29日 没有评论

记得在前不久无意间发现了Axel这个工具,它是一个Linux下的命令行下载工具。

传统的 wget 工具,在下载大文件的时候,还是有些力不从心,我们很是希望有类似服务器版本的迅雷或者IDM下载工具。于是axel和aria2c就出现了。

运行:sudo apt-get install axel

其参数如下图所示:

使用也很简单,这里给出一个示例

axel -s 10240 http://abc.com/ooxx.iso -o f /pi/

也就是说下载 ooxx.iso 这个文件放在 /pi 文件夹下,同时限速为 10240k。

太简单了,大家用用看。

分类: 一句话, 日常 标签:

追加SHA-256数字签名

2018年3月27日 没有评论

相信做过windows桌面应用的开发人员或多或少都有听过数字签名这个概念,特别是对于稍微大点的企业,数字签名更是标配。

数字签名主要是有2个作用:

1、真实性。用户可以信任该软件的来源,因为数字签名需要花钱购买,对于一个真实有效的数字签名证书来说,是可以追索到其发行商的。

2、完整性。数字签名用来保护软件不被修改,因为一旦对二进制文件做了修改,其数字指纹就丢失了。通过检查数字签名,即可知道是否被修改过。

在过去,行业主要使用SHA-1来作为数字签名的算法,但是随着科技发展,该算法已经不再安全了,所以SHA-256算法就逐渐流行开来。经过衣服自己洗的观察,发现有的软件并非是直接使用SHA-256来代替,而是新增了一条记录。

有点意思,衣服自己洗猜测其目的,首先是“看起来”更可信,有2条记录,是不是感觉很牛x。然后,对于已经发行的软件,其验证数字签名的算法可能还不支持SHA-256,为了保持向前兼容,采用附加的方式。

具体的附加命令如下:.\signtool sign /as “http://www.ooxx.com/” /t “http://timestamp.comodoca.com/authenticode” /fd “SHA256” C:\CoreAPI.dll

对于直接覆盖,可以使用 /du 参数。

分类: 一句话, 日常 标签:

解决Python 使用 pip 安装 pylint 失败的问题

2018年2月3日 没有评论

这几天在使用 Sublime Text 写 python 代码,然后开个cmd 去跑结果,想加个智能提示,搜索了下还是觉得麻烦,想要更懒一点的版本。

打开了一次都没有使用的Pycharm,结果提示要升级,不知道什么原因一直卡着进度条,这个工具好是好就是大了些。于是一时愤懑,把 Pycharm 给卸载了,去下载了 Visual Studio Code 安装,打开时提示还要安装 pylint,点击安装结果出错了。

还以为是哪里出问题了,就在命令行里再执行了一遍,发现还是出错。

网上搜索了一圈,一个比较快速的方法是按照错误提示修改文件,打开本地的 Python\Lib\site-packages\pip\compat\__init__.py 文件,在大约 75行的位置,将 “utf_8″修改为“gbk”,保存,重新安装 pylint,就成功了。

我为了保险起见,把文件给改回成 “utf_8″了,奇怪的是为什么这里要使用下划线而不是连接符。

一直没有安装 Visual Studio Code的原因是觉得 LiteIDE 已经很不错了,现在还是入了 Visual Studio Code的坑啦。

分类: 一句话, 日常 标签:

Win10 隐藏“我的电脑”文件夹的库图标

2018年2月3日 没有评论

包括“视频”、“音乐”在内的库快捷方式我是很少使用,所以平时都给隐藏了起来,可是在一些打开文件的对话框中默认并没有收起来,所以想要一个妥善的解决方法。

保存下面的内容为批处理,然后管理员权限运行。

::隐藏此电脑中3D 对象、视频、图片、文档、下载、音乐、桌面七个文件夹
Reg add “HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{31C0DD25-9439-4F12-BF41-7FF4EDA38722}\PropertyBag” /v “ThisPCPolicy” /t REG_SZ /d “Hide” /f
Reg add “HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{31C0DD25-9439-4F12-BF41-7FF4EDA38722}\PropertyBag” /v “ThisPCPolicy” /t REG_SZ /d “Hide” /f

Reg add “HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{35286a68-3c57-41a1-bbb1-0eae73d76c95}\PropertyBag” /v “ThisPCPolicy” /t REG_SZ /d “Hide” /f
Reg add “HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{35286a68-3c57-41a1-bbb1-0eae73d76c95}\PropertyBag” /v “ThisPCPolicy” /t REG_SZ /d “Hide” /f

Reg add “HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{f42ee2d3-909f-4907-8871-4c22fc0bf756}\PropertyBag” /v “ThisPCPolicy” /t REG_SZ /d “Hide” /f
Reg add “HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{f42ee2d3-909f-4907-8871-4c22fc0bf756}\PropertyBag” /v “ThisPCPolicy” /t REG_SZ /d “Hide” /f

Reg add “HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{7d83ee9b-2244-4e70-b1f5-5393042af1e4}\PropertyBag” /v “ThisPCPolicy” /t REG_SZ /d “Hide” /f
Reg add “HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{7d83ee9b-2244-4e70-b1f5-5393042af1e4}\PropertyBag” /v “ThisPCPolicy” /t REG_SZ /d “Hide” /f

Reg add “HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{0ddd015d-b06c-45d5-8c4c-f59713854639}\PropertyBag” /v “ThisPCPolicy” /t REG_SZ /d “Hide” /f
Reg add “HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{0ddd015d-b06c-45d5-8c4c-f59713854639}\PropertyBag” /v “ThisPCPolicy” /t REG_SZ /d “Hide” /f

Reg add “HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{a0c69a99-21c8-4671-8703-7934162fcf1d}\PropertyBag” /v “ThisPCPolicy” /t REG_SZ /d “Hide” /f
Reg add “HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{a0c69a99-21c8-4671-8703-7934162fcf1d}\PropertyBag” /v “ThisPCPolicy” /t REG_SZ /d “Hide” /f

Reg add “HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{B4BFCC3A-DB2C-424C-B029-7FE99A87C641}\PropertyBag” /v “ThisPCPolicy” /t REG_SZ /d “Hide” /f
Reg add “HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{B4BFCC3A-DB2C-424C-B029-7FE99A87C641}\PropertyBag” /v “ThisPCPolicy” /t REG_SZ /d “Hide” /f

分类: 一句话, 日常 标签:

压缩 Golang 编译的可执行文件体积

2018年1月1日 没有评论

自从接触 Golang 以来,一直对其编译出来的可执行文件有点看法,因为体积比较大。使用 go build av.go,编译简单的代码出来后就有近8M,当然,这是因为把 Go 的运行时环境也给打包进去了的原因,为了几k的源码实在是不划算,特别是在香蕉派/Firefly这些磁盘空间紧张的设备上面。

今天有搜索一下解决方法,Golang 的先行者给出的思路一共分为2步。

第一步,添加编译符号。

go build -ldflags “-s -w” av.go

-s 相当于strip掉符号表, 但是以后就没办法在gdb里查看行号和文件了。
-w 告知连接器放弃所有debug信息

衣服自己洗是使用 LiteIDE 来编写go代码的,按照下图添加即可,注意不要忘记添加引号,不然编译是无法通过的。

这样一来,编译后的文件就是5M多,看起来还是有点效果。

第二步,我们使用UPX来进一步压缩,其地址为 https://github.com/upx/upx,下载对应的版本即可。使用起来也很简单,默认即为压缩,输入upx av.exe 即可。

-d 解压缩
-l 查看压缩前后信息

现在再看,体积已经到1.7M左右了,效果很明显,就问你惊不惊喜,意不意外。

由于以前有木马病毒也使用UPX来加壳,导致现在杀毒软件对UPX不太友好。如果是部署在服务端或者Linux系统应该还好,特别是面向windows用户发布的,各位同学请慎重,可以考虑添加数字签名。至于如何使用数字签名,可以参考我的另外一个帖子。

对于产线的 Release 编译,使用自动化工具来做这个事情,应该都是小菜一碟了,就不提了。

分类: Golang, 日常 标签: , ,

Unable to authenticate using sasl protocol mechanism SCRAM-SHA-1

2017年9月22日 没有评论

最近在写一个数据清洗工具,以调整MongoDB的数据内容。工具使用了MongoDB官方提供的Nuget包,但是在连接的时候,一直无法成功,总是连接超时报Unable to authenticate using sasl protocol mechanism SCRAM-SHA-1异常。

后来在Stackoverflow上找到解决方法,原来问题出在连接字符串上。

原来我的连接字符串是:mongodb://username:password@ip/mydb,就出现 Unable to authenticate using sasl protocol mechanism SCRAM-SHA-1 异常。在官网的文档里有一句话 Above, the database by the name of “mydb” is where the credentials are stored for the application.

原来连接字符串里要写存储授权信息的数据库名称,默认是为admin。所以在连接字符串里不需要提供数据库名称了。在后面可以通过 var db = client.GetDatabase(“dbname”); 来定位到需要操作的数据库上。

 

分类: 一句话, 日常 标签:

mongodump 备份数据

2017年8月21日 没有评论

Mongodump 是MongoDB里的一个工具,可以用来备份数据。

我们在命令行里输入 mongodump –help 即可查看其用法,对于日常使用来说,主要会用到下面一些参数:

-h:指明数据库宿主机的IP
-u:指明数据库的用户名
-p:指明数据库的密码
-d:指明数据库的名字
-c:指明collection的名字
-o:指明到要导出的文件名
-q:指明导出数据的过滤条件

例如:mongodump -h 127.0.0.1 -d mm-o data.dmp

但是在MongoDB采用了version 3版本身份认证的服务器上,这个方式会失败。经过查询后发现,还需要添加–authenticationDatabase admin 参数。

分类: 一句话, 日常 标签:

好贵的土豆

2017年5月23日 没有评论

从去年顺利拿到驾照,这马上就快要到一年时间,在实习期即将结束的时候,居然就出事故拉。

team说是出去玩一趟,我们就在某嗨公司租了3辆车,一路上倒是玩的还可以。就在周末安全回来后,我寻思着车上的2兜土豆还是比较重,还是开车回家把东西放好了再停到单位,恰好周末停车位很富裕。

在小牛坊桥准备右拐进入北清路时,看到有直行的车辆开过来,于是就停了下,看到对方车也停了下,还在想人家可真好,就准备并线,但是对方车辆又继续加速开过来了。嘭的给撞上了。

那一刻,脑海里满满的“我艹”。

下车查看情况,还好双方人都没有问题,说起来就是简单的剐蹭。我们这边就左大灯下面有剐蹭,对方车辆由于速度比较快,右边的2个车门都有刮痕。

打122,交警来了,也没有说啥,我的全责就酱紫,3分一百。接着打客服联系保险。

后面就不多说了,总的来讲,根据这事情知道了大致的流程,算是一个小的收获,只是这学费有点高。

土豆是高原的紫皮,蛮面的。

分类: 一句话, 日常 标签:

MxNet 深度学习框架安装(一)

2017年3月1日 没有评论

最近是想看看深度学习的东西,网上有搜索一下,貌似MxNet还不错,于是打算选择该库作为入手。

作为系列文章的第一篇,当然是安装拉,这里以windows 10安装为例,Ubuntu上的就再等等吧。

在安装之前,大家需要深度学习的使用语言,多为python和c+之类的。MxNet支持的语言比较多,对R也支持。

首先,我们需要安装Python,从官网上下载安装包,衣服自己洗这里选择的是3.6的版本,一路无脑下一步即可。在安装完成后,请确保python的路径已经被添加到系统的环境变量下。

接下来,再安装 pip,从官网上下载文件到本地,然后运行

python get-pip.py install

安装完成后,请添加python目录下的scripts目录到系统的环境变量下。接下来安装 numpy,进入 https://pypi.python.org/pypi/numpy,选择对应的whl版本,下载到本地,然后运行

pip install numpy.whl

在开始的时候,衣服自己洗选择的从网上安装,总是会失败,搜索了一番才果断采用离线安装,很是顺利。

下面就是正主上场拉,从https://github.com/dmlc/mxnet/releases下载预编译好的包,由于我的机器不支持cuda,所以就下载的是cpu的版本,例如20160531_win10_x64_cpu.7z,解压缩到本地,这样的东西我还是放到C盘根目录下比较保险点。

对于想玩CUDA的同学,请先到nvadia去注册,然后下载他们的SDK,解压缩后放到mxnet\3rdparty\cuda 目录下。

最后一步就是准备配置了,按照官方的readme文件,进入到mxnet的目录,双击运行setupenv.cmd来配置环境变量。再进入到 mxnet\python目录,运行 python setup.py install.

如果一切都顺利的话,应该是可以安装成功的。

如何验证呢,运行下面的命令

C:\> python
>>> import mxnet as mx
>>> a=mx.nd.zeros((2,3))
>>> print(a.asnumpy())

如果结果为

[[0. 0. 0.]
[0. 0. 0.]]

就表明mx安装成功拉。

如果你想使用C++来开发的话,请使用mxnet\lib目录下的文件:libmxnet.dll和libmxnet.lib。

今天的内容就到此结束,看起来很简单,确实花了一个下午的时间才理清。有什么不懂的,欢迎留言。

分类: 日常 标签: , ,