摘要: 之前斌哥推荐了一个Exploit Exercise,上面有一些小练习,最近决定去做一做玩玩。网站上练习的话分为以下几个子项目: •Nebula,simple and intermediate challenges that cover Linux privilege escalation, common scripting language issues, and file system race conditions; •Protostar,basic memory corruption issues such as buffer overflows, format strings and heap exploitation under “old-style” Linux system that does not have any form of modern exploit mitigiation systems enabled; •Fusion, continue 阅读全文
posted @ 2014-01-09 10:31 Zealoct 阅读(2156) 评论(0) 推荐(0) 编辑
摘要: Kosaraju算法是一种常见的求图的强联通分量的算法,该算法先从任意结点开始对原图G进行一次DFS后序遍历,之后依据第一次DFS的结果的反向序列(即根据reverse postordering),对原图的反向图G’进行前序的DFS。在第二次DFS中,每个联通分量即为一个强联通分量。 算法是很简单,不过之前并没有完全搞明白,昨天晚上仔细想了下,总算弄明白了。事实上后序遍历一个图得到的序列包含了原图重要的结构信息,正是这些结构信息保证了第二次DFS能得到正确的结果。 阅读全文
posted @ 2014-01-09 10:24 Zealoct 阅读(948) 评论(0) 推荐(1) 编辑
摘要: 身边的朋友常用的方法是使用支持postscript的打印机先打印成ps文件,然后用gsview去转。我试过这种方法,感觉在windows下不论是打印机生成ps文件还是gsview用起来都非常不舒服。后来发现Inkscape做这个工作特别好,Inkscape本身有个portable的版本,用起来很方便,界面也挺友好,可以导入pdf、png等多种格式,可谓生成eps的利器! 阅读全文
posted @ 2013-12-11 17:02 Zealoct 阅读(3876) 评论(0) 推荐(0) 编辑
摘要: 页面大小:9cm * 12cm; 页面边距:均为 0.2cm; 字体:华文行楷; 字号:4号;行距:固定值17或20磅(17看起来较紧凑,20看起来较舒服,见下图对比) 阅读全文
posted @ 2013-10-06 20:08 Zealoct 阅读(633) 评论(0) 推荐(0) 编辑
摘要: Windows Phone系统带有一个选择日期的控件名叫DatePicker,在开发者toolkit之内,需要安装Silverlight for Windows Phone Toolkit Aug 2011.msi之后才可使用,安装包可以从这里(http://silverlight.codeplex.com/releases/view/71550)下载,关于Toolkit的源代码以及一些使用样例,可以访问 http://phone.codeplex.com/sourcecontrol/latest 查看。但是这个控件选择日期的界面默认情况下下方ApplicationBar的两个图标是缺失的... 阅读全文
posted @ 2013-09-03 14:56 Zealoct 阅读(1432) 评论(0) 推荐(0) 编辑
摘要: Algorithms: Design and Analysis, Part 1 这门课的第六个编程作业的第一道题,之前的编程作业题都比较直观,而这一题需要用到一点简单的优化,相比其他的题目有意思多了。 题目描述:   输入文件每一行有一个数字(可能有重复),在这所有的数字中,任选不想等的两个数字x和y,并令t=x+y,求问在[-10000, 10000]区间中存在多少这样的t。 阅读全文
posted @ 2013-08-19 16:46 Zealoct 阅读(1165) 评论(0) 推荐(0) 编辑
摘要: 玩游戏学Ruby,通过Ruby脚本来控制一个Warrior通过每一关,每一关的代码难度都会有所增加,使玩家逐渐了解Ruby基本的函数、控制、变量、数组等语言特性的用法。目前才玩到第8关,感觉挺有意思的,作为一个帮助新手学习Ruby的小游戏,如果能就基本语法提供一些样例和说明就更完美了。传送门:https://www.bloc.io/ruby-warrior/ 阅读全文
posted @ 2013-07-28 21:24 Zealoct 阅读(595) 评论(0) 推荐(0) 编辑
摘要: 有些时候我们需要在脚本中执行一个系统命令或运行一个外部程序,Ruby也提供了这样的功能,有如下三种方法可以在Ruby中运行外部程序:1. `command`直接使用`(键盘上Esc下边那个按键)把一个字符串括起来,Ruby会把该字符串当成是一个外部应用调用,等待执行命令的子进程结束并返回应用的输出。在执行command之前,Ruby会先处理command中的反斜杠逃逸符和展开式#{}。在命令返回之后,可以使用$?变量来查看子进程PID和返回值:command = "ls"ret = `#{command}`puts "$?"输出:pid 24331 ex 阅读全文
posted @ 2013-07-25 21:32 Zealoct 阅读(1754) 评论(0) 推荐(0) 编辑
摘要: Algorithms: Design and Analysis, Part 1 这门课的第二个编程问题。 题目要求的选取pivot的方法共分三种:1)选取第一个;2)选取最后一个;3)选取第一个数、最后一个数和位于中间的数这三个数中的中间数(既不是最大也不是最小),分别计算在这三种方法下快排需要进行多少次比较才能完成。在计算比较数的时候,求中间数所需要的比较数不计入内,也就是说排序一个长度为m的子串所需要的比较数是m-1(pivot分别与m-1个数进行比较) 阅读全文
posted @ 2013-07-23 10:56 Zealoct 阅读(303) 评论(0) 推荐(0) 编辑
摘要: 交换两个变量的值是非常常用的一个操作,在ruby中这个操作可以用一个语法非常简单的实现:var1, var2 = var2, var1例如aa = 1bb = 2aa, bb = bb, aaputs "#{aa} #{bb}"输出结果为:2 1 阅读全文
posted @ 2013-07-23 09:38 Zealoct 阅读(948) 评论(0) 推荐(0) 编辑