代码安全,网络安全,系统内核
标签类目:编程

【转】安装vs2005 sp1出现数字签名错误的解决办法

1. 单击“开始”,单击“运行”,键入 control admintools,然后单击“确定”。
2. 双击“本地安全策略”。
3. 单击“软件限制策略”。(注意:如果未列出软件限制,请右击“软件限制策略”,然后单击“新建策略”。 )
4. 在“对象类型”下,双击“强制”。
5. 单击“除本地管理员以外的所有用户”,然后单击“确定”。

重启后就可以正常安装了.

编译了一个windows 平台下的curl

一个非常好用的工具。

D:\curl>curl –version
curl 7.17.1 (i386-pc-win32) libcurl/7.17.1 OpenSSL/0.9.8g zlib/1.2.3
Protocols: tftp ftp telnet dict ldap http file https ftps
Features: Largefile NTLM SSL libz

curl.7z

Linux 下编译netcat

很简单。注释掉 netcat.c res_init 的那行

make linux

如何想编译出 -e 和 -t 选项, 只要加上两条define 语句即可。

#define GAPING_SECURITY_HOLE
#define TELNET

python PyGreSQL

postgres 官方推荐的python Postgres SQL 编程接口

下载地址:http://www.pygresql.org/readme.html

pg 模块文档

ex

  1. import pg
  2.  
  3. conn = pg.connect(dbname='zz', host='10.20.60.90', user='postgres', passwd='postgres')
  4. data = conn.query('select version();').getresult()
  5. print data

python 里的hexdump

强悍程度略见一斑啊

  1. FILTER=''.join([(len(repr(chr(x)))==3) and chr(x) or '.' for x in range(256)])
  2.  
  3. def dump(src, length=8):
  4.     N=0; result=''
  5.     while src:
  6.         s,src = src[:length],src[length:]
  7.         hexa = ' '.join(["%02X"%ord(x) for x in s])
  8.         s = s.translate(FILTER)
  9.         result += "%04X   %-*s   %s\n" % (N, length*3, hexa, s)
  10.         N+=length
  11.     return result
  12.  
  13. def dump2(src, length=8):
  14.     result=[]
  15.     for i in xrange(0, len(src), length):
  16.         s = src[i:i+length]
  17.         hexa = ' '.join(["%02X"%ord(x) for x in s])
  18.         printable = s.translate(FILTER)
  19.         result.append("%04X   %-*s   %s\n" % (i, length*3, hexa, printable))
  20.     return ''.join(result)

Code Complete 2 第十三章 不常见的数据类型

1. 使用结构体的场合

用结构体明确数据关系
用结构体简化参数列表 (Windows 内核用的很多)
用结构体减小维护量

2. 指针

更正指针的大部分工作量便是找出它的位置。经常的错误是指针指向的位置不可读或者不可写,却进行了读或者写的操作。double free 或者null 指针问题。而指针指向的内容被破坏,这种错误却很难发现。

一些额外的技术可以避免一些问题:

a 同时声明和定义指针
b 在与指针分配相同的作用域中删除指针 (calloc free , new delete)
c 在使用指针和指针所引用的变量前先检查它 (防御式编程)
d 使用额外的指针变量提高代码的清晰度
e 按照顺序释放链表指针
f 在删除或者释放指针之后将它们设置为空值 (NULL)
g 使用非指针技术

返回顶部