- 浏览: 151478 次
- 性别:
- 来自: 北京
最新评论
文章列表
黑客常用WinAPI函数整理
之前的博客写了很多关于Windows编程的内容,在Windows环境下的黑客必须熟练掌握底层API编程。为了使读者对黑客常用的Windows
API有个更全面的了解以及方便日后使用API方法的查询,特将这些常用的API按照7大分类进行整理如下,希望对大家的学习有所帮助。
一、进程
创建进程:
CreateProcess("C:\\windows\\notepad.exe",0,0,0,0,0,0,0,&si,&pi);
WinExec("notepad",SW_SHOW);
ShellExe ...
- 2014-02-08 21:25
- 浏览 506
- 评论(0)
缓冲区溢出攻击
缓冲区溢出(Buffer Overflow)是计算机安全领域内既经典而又古老的话题。随着计算机系统安全性的加强,传统的缓冲区溢出攻击方式可能变得不再奏效,相应的介绍缓冲区溢出原理的资料也变得“大众化”起来 ...
- 2014-02-08 21:24
- 浏览 458
- 评论(0)
CLR小组中存在着大量的回归测试,这些回归测试会定期执行来发现CLR中的Bug,Developer在Checkin之前,也需要执行这些测试的一部分(大概是10小时左右,如果全部跑的话估计要好几天)。这些测试对于保证CLR的质量是至关重要的 ...
- 2013-12-08 23:58
- 浏览 444
- 评论(0)
前段时间花了几天一直在用WinDbg调试一个比较棘手的Bug。这个Bug是C# Team那边发现的,他们的Testcase跑大概10分钟左右会出一个在CLR内部的ASSERT。比较难调试的主要原因在于ASSERT表明一个全局的数据结构出现了问题,本来不应该用完的数组却已经用完了(因为按照设计,这个数组是边使用边清理的,是不会用完的)。初步想到的有下面几种方案来调试:
1. 设置数据断点
2. 一步一步调试
3. 添加Log代码
设置数据断点的主要问题是不太好确定到底是因为什么原因导致的数据结构问题,而且因为是数组被用完,很难将是到底是哪一个数组元素的加入导致了数组被全部占用,因此无法 ...
- 2013-12-08 23:57
- 浏览 538
- 评论(0)
Background
MSDN中对于在不同的配置下Link的LIB作了说明:
C Runtime Library:
开关
对应的库
版本
/MD
MSVCRT.LIB
多线程DLL的Release版本
/MDd
MSVCRTD.LIB
多线程DLL的Debug版本
/MT
LIBCMT.LIB
多线程静态链接的Release版本
/MTd
LIBCMTD.LIB
多线程静态链接的Debug版本
/clr
...
- 2013-12-08 23:56
- 浏览 520
- 评论(0)
Introduction
上篇文章解释了Python是如何使用PyParser生成CST的。回顾一下,Python执行代码要经过如下过程:
1. Tokenizer进行词法分析,把源程序分解为Token
2. Parser根据Token创建CST
3. CST被转换为AST
4. AST被编译为字节码
5. 执行字节码
当执行Python代码的时候,以代码存放在文件中的情况为例,Python会调用PyParser_ASTFromFile函数将文件的代码内容转换为AST:
mod_ty
PyParser_ASTFromFile(FILE *fp, const ch ...
- 2013-12-08 23:53
- 浏览 529
- 评论(0)
Introduction
上一篇文章我们分析了Python是如何对语法文件Grammar进行预处理,生成语法数据,并在运行时生成Acclerators加速语法分析的过程。当分析完这些内容之后,下一步便是分析Python中语法分析的机制。回顾一下Python的整个处 ...
- 2013-12-08 23:53
- 浏览 771
- 评论(0)
Grammar文件
前面提到了在Python的源代码目录下面有一个Grammar目录,里面只有一个文件Grammar,以BNF的语法定义了Python的全部语法。拿if语句举例来说:
if_stmt: 'if' test ':' suite ('elif' test ':' suite)* ['else' ':' suite]
上面的语句可以这样理解,if语句是if关键字+逻辑表达式+ ‘:’+语句块(suite)后面跟上0至多个elif语句并以else语句结束。在最左边的if_stmt表示这一句话定义了if_stmt(非终结符),’:’右边则是if_stmt的具体对应 ...
- 2013-12-08 23:52
- 浏览 605
- 评论(0)
Introduction
上次我们分析了Python中执行程序可分为5个步骤:
Tokenizer进行词法分析,把源程序分解为Token
Parser根据Token创建CST
CST被转换为AST
AST被编译为字节码
执行字节码
本文将介绍Python程序执行的第一步,也就是词法 ...
- 2013-12-08 23:51
- 浏览 764
- 评论(0)
本文主要通过跟踪一个非常简单的Python程序的执行,简单讨论Python实现的基本框架和结构。
要执行Python程序如下,功能非常简单:从1加到10再打印出来
# test program
sum = 0
for i in range(1, 11):
sum = sum + i
print sum
如果想要在Windows下面用VS 2005调试Python,可以通过下面步骤设置:
把Startup Project设置成Python,这样就可以直接通过F5来启动Python
右键单击Python这个Project,选择Prope ...
- 2013-12-08 23:51
- 浏览 259
- 评论(0)
Python是一种动态的脚本语言。具体的我就不多介绍了,可以参考www.python.org. Python是Open Source的,在www.python.org可以下载到最新的2.5版的源代码。源代码链接在这里:Python
2.5
下载下来之后直接解压缩可以看到如下的目录结构:
Demo
Demo用的代码,主要用来展示Python的一些应用
Doc
Python的UserManual。Latex格式的
Grammar
语法文件。这个语法文件会在Python运行的时候被用来分析Python源代码
Include
Python Include用的头文件 ...
- 2013-12-08 23:50
- 浏览 431
- 评论(0)
前言
计算机用户花费大量的时间进行简单的,机械的数据操作--改变数据格式,核对它的有效性,找寻有特性的项目,求和,打印报告等等。所有这些工作都应该机械化。但是,每当有这样的任务,就要用C或者Pascal语言写一个 ...
- 2013-12-07 02:11
- 浏览 431
- 评论(0)
我们为什么需要awk?
我并不打算一上来就向大家介绍什么是awk,那样的话会比较枯燥,也许大家还没看完就睡着了...!所以我们先来看这样一个需求:现在我们手里有一个很大的历史记录文件,是cvs格式的,一共一百多万行,它记录了历年债卷行情数据,先截取部分给大家围观下
SECode,Symbol,Exchange,TradeDate,AI,LCClose,COpen,CHigh,CLow,CClose,CAVGPrice,CChg,CPChg,LDClose,DOpen,DHigh,DLow,DClose,DAVGPrice,DChg,DPChg,Voturnover,Vatu ...
- 2013-12-07 01:33
- 浏览 418
- 评论(0)
awk历史
AWK 是一种优良的文本处理 工具,Linux
及Unix 环境中现有的功能最强大的数据处理
引擎之一。这种编程及数据操作语言(其名称得自于它的创始人
Alfred Aho 、Peter Weinberger 和
Brian Kernighan 姓氏的首个字母)的最大功能取决于一个人所拥有的知识。 AWK 提供了极其强大的功能:可以进行正则表达式的匹配,样式装入、流控制、数学运算符、进程控制语句甚至于内置的变量和函数。它具备了一个完整的语言所应具有的几乎所有精美特性。实际上 AWK 的确拥有自己的语言: AWK
程序设计语言 , 三位创建者已将它正式定义为“ ...
- 2013-12-07 01:32
- 浏览 279
- 评论(0)
最近在深入系统运维的事情,从服务器配置、调优、维护,到各种脚本编写。实现自动化智能运维的目标还要很远。
从nginx的日志中分析每日有效的pv和各搜索引擎爬虫的请求数。脚本用awk实现。
函数库文件 stat_func.sh
[c-sharp]
view plaincopyprint?
#!/bin/bash
stat_log_path=/usr/local/qqsa/result
stat_nginx_log()
{
localbasename=`basename$1`
localnewfile="${stat_log_path}/${b ...
- 2013-12-07 01:29
- 浏览 431
- 评论(0)