Monthly Archives: August 2017

Tensorflow与TFlearn安装与使用

Tensorflow 这里的安装环境是Ubuntu 14.04 64bits,需要安装python,pip,numpy以及tensorflow。这里需要更新pip版本,否则会出现UnicodeDecodeError的错误信息而无法正确安装。 这里安装的tensorflow是仅支持CPU的版本。 #安装python以及pip sudo aptitude install python-dev python-pip #需要更新pip,否则会出现UnicodeDecodeError的错误信息而无法正确安装 sudo pip install –upgrade pip #安装numpy以及CPU支持的tensorflow sudo pip install numpy sudo pip install https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.5.0-cp27-none-linux_x86_64.whl 这里我们打开python终端运行Tensorflow,尝试运行以下代码测试安装成功 import tensorflow as tf hello = tf.constant(‘Hello, TensorFlow!’) sess = tf.Session() print sess.run(hello) … Continue reading

Posted in tools | Leave a comment

使用Github Pages和Jekyll建站小记

使用Github Pages建立博客 每个Github账户都能使用Github Pages这样一个免费空间为自己搭建一个博客,像很多Hexo之类的博客就很流行,也很美观,但是实际上写起博客来还是会很重,而且定制化不强,其实主要还是博客都是别人帮你直接弄好的,你用模板就行了,所以经常博客出现了什么问题,也没有很好的办法解决,自己去定制的话,也会很麻烦。 当然,你去把博客的源码完整地读一遍也是可以的。 Github Pages现在建立博客很简单,只需要新建一个名为 username.github.io 的仓库,github会自动为你的仓库建立在github pages上(以前是需要自己进入仓库设置里手动点选github pages才行的) 为什么选择Jekyll Jekyll是一个静态博客生成器,github pages也支持jekyll,也就是说我们只需要将jekyll生成好的文件上传到你的username.github.io仓库里,github pages就会自动帮你构建jekyll环境,将你的静态博客运行起来。 为什么我要从wordpress弃用换成用jekyll生成静态博客呢?其实主要有这么几个原因 wordpress会比较笨重,而且有大量的功能都是我不需要的,我如果只是纯粹想写作的话,用wordpress会很累赘 wordpress的文档都保存在数据库里,相比起来想要提取以前写过的文档,会麻烦很多,不是直接以某种文件形式保存起来 我比较喜欢一种极简风,现在的静态博客排版十分清晰爽朗,让我可以一眼看清楚我写了哪些文章。 使用jekyll设置好之后,我只需要本地写好markdown博文后push到我的github仓库上,即可更新博文,相比wordpress更加直接快速,且易于保存 可定制性很强,虽然排版会很花时间,但是我可以自由地管理各个参数。而托管在github pages也省去了我管理服务器的麻烦。 来吧,本地搭建jekyll环境 本地搭建jekyll环境的话,可以说jekyll的官方文档很贴心详细,讲的浅显易懂,所以我大部分操作都是根据官方文档进行的,当然也有借鉴别人的经验。 在安装jekyll之前,需要解决一些软件依赖,所以你首先需要安装如下: Ruby Jekyll是基于ruby的,因此我们需要本地安装ruby。但你放心,我们并不需要编写ruby代码 RubyGems 可以说这是ruby的一个包管理器,我们可以使用gem命令很方便地安装很多东西 Linux, Unix, or Mac OS X 不建议在windows平台下安装jekyll,但是当然windows也有专门的jekyll安装程序 随后我们就需要使用RubyGem来帮助我们安装jekyll了,我们只需要在终端输入以下命令即可安装jekyll $ gem install … Continue reading

Posted in tools | Leave a comment

武汉国家安全周线下Writeup

逆向体验 这次的逆向题都是老套路,并没有很亮的保护技术.所以也就有机会让我这个菜鸡也能去分析清楚.所以也就有了以下的writeup.这里贴出此处逆向题的题目:传送门 Re200 程序没有加壳,也没有任何反跟踪技术.就是赤裸裸的代码逆向.这里贴出main函数 int __cdecl main(int argc, const char **argv, const char **envp) { if ( argc != 2 || strlen(argv[1]) > 0x18 ) { result = 0; } else { memcpy(&dword_404410, argv[1], strlen(argv[1])); v3 = sub_401000(); Handles = … Continue reading

Posted in writeups | Leave a comment