Git 使用问题汇总

发布在 Git

其实很多人使用git只是停留在会一些基本的操作,譬如add,commit,push,pull等,比如我。其实对于那些个机制不十分了解,所以在碰到问题的时候会显得有些忙乱。这里把我遇到过的一些坑写在下面,供以后参考。不定期更新。

阅读全文

Asis CTF 2015 - Simple Algorithm Writeup

发布在 CTF, Crypto

AsisCTF 2015 - Simple Algorithm

Score: 100

根据下面的加密算法和给出的密文解出flag

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/usr/bin/python

flag = '[censored]'
hflag = flag.encode('hex')
iflag = int(hflag[2:], 16)

def FAN(n, m):
i = 0
z = []
s = 0
while n > 0:
if n % 2 != 0:
z.append(2 - (n % 4))
else:
z.append(0)
n = (n - z[i])/2
i = i + 1
z = z[::-1]
l = len(z)
for i in range(0, l):
s += z[i] * m ** (l - 1 - i)
return s

i = 0
r = ''
while i < len(str(iflag)):
d = str(iflag)[i:i+2]
nf = FAN(int(d), 3)
r += str(nf)
i += 2

print r
阅读全文

VIM进阶笔记(1) —— 查找与替换

发布在 Linux

之前我在lofter上发过2篇关于vim的文章,现在我把第二篇迁移过来放在这里作为1,因为那边的第一篇是转自coolshell不是我自己写的,总觉得不太好。

文本编辑器中一个重要功能就是查找与替换了,VIM中也提供了强大的功能。之前使用的时候也用过一些,整理了一些比较使用的技术,它们有的来自Vim的用户手册,有的来自其它人的博客,都列在下面。

阅读全文

jQuery 选择器与简单DOM操作

发布在 Javascript

之所以选择jquery进行dom操作确实是因为它的选择器非常强大,相比于传统的客户端js里的document对象选取方式更加灵活。而且在DOM的各种操作上面功能也十分健全,所有的操作都从一个小小的$()函数开始!

阅读全文

Numpy Array的花式切片技术

发布在 Python, Numpy

Numpy中最常用的是ndarray数组,而因为其是多维的有时候需要在不同维度上进行切片。

其实它的切片方式与Matlab类似,熟练以后就很好掌握了。

基本原理是这样,首先切片需要使用序列生成即冒号运算符:

一个单冒号为选取整个序列,也可以指定范围,如1:5表示1~4(包括)这4个元素。同时可以指定步长如1:6:2表示选取1,3,5这3个元素,这个与Python的列表切片是一致的。

然后,使用逗号,来区分轴(axis),轴可以简单地理解为在某个维度上的投影。例如axis=0指的就是行,axis=1指的就是列。那么第一个选取就是行,第二个选取的就是列,中间用逗号隔开,例如下面的一条语句。

1
arr[:,2]
阅读全文
作者的图片

BrieflyX

Stay calm & Keep faith


Security Researcher


Beijing, China