- 博客(179)
- 资源 (44)
- 收藏
- 关注
原创 线程天敌TerminateThread与SuspendThread
目的:不是演示TerminateThread和SuspendThread的原理而是希望能在自己的程序中摒弃它们。也许结束一个线程最可靠的方法就是确定这个线程不休眠无限期的等待下去。一个支持可以被要求停止的线程,它必须定期的检查看它是否被要求停止或者如果它在休眠的话看它是否能够被唤醒……
2011-04-06 13:22:00 21511 1
原创 怎样写一个基本正确的单例模式?
Singleton模式可能是最容易理解的一种程序设计模式了,实际上就使用频度来说也是相当高的,大规模的项目中能使用单例的地方比比皆是。它本身是工厂模式的一种特例,很多人觉得该模式很简单,但是,实际上,要基本正确的实现一个单例,却不见得那么容易,尤其是如果你用C++去实现。 我们就来一步步的实现一个可以用于项目的中的单例吧!
2011-03-22 00:30:00 5706 2
翻译 Visual C++ 异常(Exception)常见问题 (原文标题:A Visual C++ Exception FAQ)
本文讨论了一些在Visual C++中实现的,关于 try{} catch(…) 和异常的问题。本文使用一问一答交流的方式来逐步深入的讨论,因此如果你以一个整体来读完全文将会获得更多的知识。为了让你对下面的讨论有一个大体上的认识,我们可以先浏览一下问题列表:Q1 对于下面的代码,我不明白当我使用release编译模式或其他的编译模式,但是使用了优化选项后(例如:/O1或者O2),为什么 try{} catch(…) 就不能捕获win32的结构化异常了。Q2 同样是上面的代码,令我很不能理解的
2011-03-17 16:26:00 5678
原创 关于安全字符串操作函数
当我们在VC7.0及以上版本中使用非安全的字符串操作函数时,默认情况会提示类似如下的警告: warning C4996: 'wcsncpy': This function or variable may be unsafe. Consider using wcsncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 建议我们使用安全字符串拷贝函数wcsncpy_
2011-02-25 00:11:00 5147
原创 Xdebug Errors: xdebug(32) : error C2365: 'operator new' : redefinition; previous definition was 'function'
error C2365: 'operator new' : redefinition; previous definition was 'function',这是神马鬼问题……
2011-02-21 20:52:00 8581 2
翻译 怎样写一个简单的操作系统?(原文标题:How to write a simple operating system)
本文主要介绍怎样编写和构建您的第一个,基于x86汇编语言的操作系统。它解释了计算机开机的基本过程,一些基本的汇编语言,以及怎样进一步提升自己这方面的技术。最终编写的操作系统将是非常小的一个程序(仅仅是一个系统引导程序),并且只有非常少的功能,但它是您在这方面进一步进行研究和探索的一个起点。在您阅读了本文之后,如果您想更进一步在这方面进行探索并扩展您的能力,您可以继续看一下Mike OS(译注:http://mikeos.berlios.de/)项目,这是一个更大更完备的x86汇编语言操作系统。
2011-01-26 01:10:00 17791 5
原创 error LNK2005: _malloc already defined in LIBCMT.lib(malloc.obj)
error LNK2005: _malloc already defined in LIBCMT.lib(malloc.obj);LIBCMT.lib(crt0init.obj) : warning LNK4098: defaultlib 'msvcrt.lib' conflicts with use of other libs; use /NODEFAULTLIB:library
2010-12-29 15:32:00 21210 7
原创 [python] ConfigParser 编码问题和示例
最近用ConfigParser的时候出现了编码问题……原因是别人给我的一个配置文件(姑且叫config.ini)的编码是utf-8的,如果用ConfigParser的默认接口read,传入文件名去读,读取会失败,然后看来了下ConfigParser的源码,有些小收获
2010-12-27 15:44:00 8599 3
原创 WMI 小点滴
超级兔子,鲁大师神马的软件检测硬件用到的主要技术手段就是WMI,上次被同事问到,抽空看了下,还不错,主要依赖com技术实现,客户端程序通过查询的方式向com服务器进行相关信息的询问。有以下一些概念要了解下: 1、WBEM - Web Based Enterprise Management的缩写,一种行业规范,建立了在企业网络中访问和共享管理信息的标准。
2010-12-07 14:08:00 1729
原创 用Py2exe打包Python脚本简单介绍
一、简述 Py2exe,从这个名字上就可以理解,把Python脚本转换为windows平台上面可以运行的可执行程序(*.exe)的工具。经过转换后,你可以不用安装Python的执行环境就可以直接执行转换后的exe了。Py2exe本身是开源的。二、安装 根据你本地安装的python的版本来选择要安装的Py2exe版本,一个比较好的下载地址:http://sourceforge.net/projects/py2exe/files/,如果这个地址访问不了,我在csdn上放了一个针对python
2010-11-01 14:00:00 38470 7
原创 x64系统的判断和x64下文件和注册表访问的重定向(3)
x64下文件的重定向依然是WOW64具体执行细节的一部分,跟注册表重定向一样同样是为了将32为程序和64位程序分开。所谓文件重定向通俗点讲就是你去访问某些文件夹的文件的时候,会被定位到其他文件夹下面的文件去,而且这一切依然对用户透明。主要有以下一些文件夹会被重定向: %Systemroot%/System32 当一个32位程序在默认情况下去访问%Systemroot%/System32时,会被定位到%Systemroot%/Syswow64文件夹下面。
2010-09-19 20:54:00 6467 1
原创 x64系统的判断和x64下文件和注册表访问的重定向(2)
关于注册表的重定向:需要这个技术的原因是需要在x64系统上面把32位程序和64位程序分离开。这种技术有个强大的名字叫WOW64,注意不是魔兽世界64级哦,哈哈。出于一些特殊的目的,一些注册表键被分成了两个部分
2010-09-18 02:28:00 4673 5
原创 x64系统的判断和x64下文件和注册表访问的重定向(1)
怎样判断当前的应用程序运行在x64系统下面?x64下面的文件访问和注册表访问要注意什么呢?
2010-08-25 23:04:00 3427
原创 怎样判定应用程序自身运行在“兼容模式”下?
我们的程序有时候需要精确的判定当前运行在哪个系统下面,也就是说程序的某个功能可能需要知道当前运行在哪个真正的操作系统下,而操作系统提供了一个兼容模式功能,就是用户可以设置某个程序运行在某个模拟的更低的版本的操作系统下面,这是有好处的,因为某些程序在某些更高版本的操作系统下面可能发生兼容性问题而无法运行。在设置兼容模式运行后,程序里面调用ring3层的GetVersionEx得到的将是模拟的的操作系统版本,而不是真正的操作系统版本。
2010-08-21 18:35:00 8614 2
转载 但腾讯,还差一步
6月23日6时,网络上最为平淡的黎明时分,中国传媒大学传播学博士后傅玉辉所写的一条微博仍被快 速地转发,这条微博的内容是:“中国的、未来的、巨大的、互联网公司,是谁?”是谁?网友都在问同样的问题。腾讯?阿里巴巴?还是百度?抑或是一家新公司?发展了十年的中国互联网企业,也到了回答这个问题的时刻。剖析腾讯以及马化腾的“敌人”们,或许能从中看出一点端倪。
2010-06-25 13:34:00 207
原创 VC6下 try catch 在release下的杯具
IDE:VC6 今天遇到一个小问题,把我郁闷了好久,××医生的VulEngine不时在wcsstr处发生crash,加了一番强大的参数检查后,再加上了强大的try catch,其实不是很喜欢用try和catch,总觉得一个完美的程序,应该代码的每一处都可以被程序员控制的,我倾向如对函数的返回值和参数进行强制的检查,当然这就要求你自己设计的函数必须也得满足这些要求,不过事情
2010-04-19 23:59:00 6043 1
转载 程序员能力矩阵 Programmer Competency Matrix
看过这篇文章之后,心底有点点震撼,转载如下:时常看看,找准自己的位置和不足,原文地址:http://static.icybear.net/%5BCN%5DProgrammer%20competency%20matrix.htm 注意:每个层次的知识都是渐增的,位于层次n,也蕴涵了你需了解所有低于层次n的知识。 计算机科学 Computer Science
2010-04-17 21:21:00 116
转载 用十年来学编程
英文原作者:Peter NorvigTeach Yourself Programming in Ten Years 中文翻译转载之:http://coolshell.cn/?p=2250 为什么每个人都急不可耐?走进任何一家书店,你会看见《Teach Yourself Java in 7 Days》(7天Java无师自通)的旁边是一长排看不到尽头的类似书籍,它们要教会你Vi
2010-04-01 14:22:00 1846
原创 一道BT的面试题
昨天在网上看到一个BT的面试题,代码如下:问题是运行这个程序屏幕上为什么会出现一个 :) ,就是一个冒号加一个右括号。 注:环境VC6 SP6 + vista sp2#include int main(int argc, char* argv[]){ const short int c1 = (short)49920; const int c2 = 1073
2010-03-30 23:32:00 2198 3
原创 VS2005强大的条件断点功能
今天在调一个漏洞修复的crash的时候,进入了一个很大的循环,循环不停地检测是否有当前漏洞,断点打在循环体里面,已知出问题的漏洞的KB号,但是如果要在刚好扫描到这个KB号的时候断下来,还有点小麻烦,我又不想改代码用if断下来,其实VS2005做到这个非常简单,设置条件断点就行了,在断点的右边单击右键会弹出断点条件设置菜单: 然后再点击 Condition...
2010-03-29 20:44:00 6540 3
原创 CMP指令和标志位
汇编中的CMP指令是一条比较指令,对比两个操作数的大小,但是计算机并不理解大小,它只是对两个操作数进行了一次减法操作,然后对一些标志位进行了一些逻辑运算来判断哪个数大,涉及的标志位有如下一些: CF:是否有进位或者借位 ZF:0标志位,就是结果是否为0 OF:溢出标志位,是否计算机结果溢出了 SF:符号位,0为正,1为负
2010-03-23 00:10:00 18259 3
转载 法国数学家梅齐亚克的砝码问题
砝码问题 写道 法国数学家梅齐亚克在他著名的《数字组合游戏》(1962)中提出了一个问题:一位商人有一个重40磅的砝码,一天不小心将砝码摔成了四块。后来商人称得每块的重量都是整磅数,而且发现这四块碎片可以在天平上称1至40磅之间的任意重量。请问这四块碎片各重多少? *问题分析与算法设计 写道 本题是上一题的发展。题目中给出的条件是“在天平上”,这意味着:同
2010-03-07 17:07:00 4558 4
原创 Py正则表达式中的【零宽断言】
说明:本文的例子使用python描述 首先说明一下什么是零宽断言,所谓零宽断言就是并不去真正的匹配字符串文本,而仅仅是匹配对应的位置。 正则表达式中有很多这样的断言,常见的如匹配字符串或者行的起始位置 ^ 和 /A,匹配字符串或者行的末尾 $ 和 /Z,单词边界/B等等。这些简单的就不说了,今天主要说一下界定的使用方法(有些资料叫环式结构,名字而已,不重要)。界定也
2010-02-27 17:35:00 13120 7
原创 nsis中 单句跳转的陷阱
最近在忙着打包QQ医生的一个特殊版本,几年前玩过nsis,现在不太熟悉了,虽然几年过去了,nsis依然没有什么变化,熟悉的语法,简洁的语句,我一直觉得比wininstaller要好很多,在nsis里面我们经常看到类似下面的语句: IfSilent +1 +3 QQDrNsis::SendInstallProgress Goto +2
2010-02-08 19:01:00 4266
原创 抢车位中的排名bug(比较使用了无符号数)
昨天把这个发在了qzone,想来还是怪怪的,还是转过来不吧,纯当发现了一个虫子,玩笑一下。不过csdn现在不能贴图,挺郁闷的,原文在http://user.qzone.qq.com/110907073/blog/1264524991。 首先上图,今天我心血来潮想看看我的抢车位怎么个情况,不出意外应该还是排名第一把,虽然最近意外比较多。打开一看,吓了一跳,怎么排到第三去了,
2010-01-28 01:13:00 2668 1
原创 svn常用命令行和批处理
在进行大量svn更新和多个工程联合编译时,如果是对你来说是一件经常重复做的事情,譬如更新代码编译版本;更新代码,编译版本并升级之类的重复性很高,枯燥而且容易出错的事情,使用批处理来统一管理和处理将大大简化工作流程,使编版本,升级成为一件快乐的事情,想一下,要升级了,准备工作做好后,运行下批处理,“哗哗”就跟你有条不紊的做好了,多么惬意的一件事情,而且不可能产生人为原因的错误,要统一批处
2010-01-18 11:39:00 25048 1
原创 复习C++中的几个不常用关键字
今天听到一个朋友来TX面试,又问到了生僻的C++关键字,那个汗,记得我那个时候面试的时候也被问到过,特总结如下: bad_typeid 很生僻,基本在几年的开发中没有用过,要理解bad_typeid这个关键字,首先得看下typeid这个关键字的使用,下面是一段英文描述:The typeid operator will accept a pointer
2010-01-06 00:32:00 3109 8
原创 使用Python操作XLS文件(wps中叫et)
有一次TE需要一个**信息列表,我用python导出了一个txt文件丢给了他们,结果他们很不悦哇,呵呵,因为他们要把几百项数据人肉到xls文件中作为列表输出,工作量太大,便要求我导出成xls文件然后再给他们,我以编程实现太难推脱了,今天看了下python操作excle的方法,发现相当简单,呃,苦了TE们…… 我在网上找了下,发现至少有两种方法,第一种是直接操作excle
2009-12-08 19:19:00 18982 6
转载 防挂马不能仅依赖恶意网址收集
转自: 铁军的杀毒圈子 昨天众多媒体报道瑞星误报google分析站点为恶意网址相关报道链接:http://security.ccidnet.com/art/1099/20090429/1753569_1.html挂马集团在运行时,也会和商业网站一样进行浏览分析,会使用google、cnzz、vdoing等页面统计工具分析流量。碰巧,这些统计代码连同恶意网址被一起提交,系统就此作出了
2009-11-26 20:02:00 1526
原创 vista下开机启动 简单绕过UAC的方法
背景 vista下,如果不开启UAC,那就没有我下面要说的问题了,呵呵。下面说的都是在vista开启UAC的前提下说的,win7也适用。 在vista下,系统开启了UAC,如果你的软件通过manifest进行了提权(提升到管理员权限),那么exe上面会打上一个“小盾”的图标,这种程序启动的时候,会激活UAC保护机制,弹一个全局对话框出来询问用户是否允许启动,这就是微软标榜的灰常
2009-11-13 01:24:00 8435 9
原创 SetWinEventHook 事件钩子
相信消息钩子大家听的比较多,消息钩子能够在应用程序处理系统消息之前将其截获,提前处理并可以决定是否继续将消息往下传送,有些windows事件并没有消息对应,譬如弹出菜单,切换窗口,获得焦点,滚动条滚动等等,要截获这些事件可以使用SetWinEventHook,它的原型如下:HWINEVENTHOOK WINAPI SetWinEventHook( __in UINT event
2009-11-01 01:26:00 15084 1
转载 一声呐喊,亿声回响
本报讯“请小心使用你的键盘!腾讯的每一位员工,一次键盘敲击,将产生亿万用户的内心共振。”随着精彩互动的一句开场白,腾讯校园招聘宣讲会日前正式拉开巡展序幕,“腾讯风球”在校园招聘市场中受到大学生们的热情追风。在北京、上海、广州、成都、武汉、西安和重庆等15个核心招聘城市,一连23场主题为“一声呐喊,亿声回响”的校园宣讲现场座无虚席,腾讯与近10万名大学生展开了零距离的亲密接触。被外界誉为“互联网首席
2009-10-28 10:56:00 1405 2
原创 fatal error LNK1103: debugging information corrupt; recompile module
今天在写一个SetWinEventHook的程序时,编译通过,link时,弹出了如下的错误:Linking...uuid.lib(oleidl_i.obj) : fatal error LNK1103: debugging information corrupt; recompile module 囧,第一反应是google一下,看来遇到这个问题的还不少,仔细回想了下
2009-10-25 16:10:00 24135 13
原创 从一则IT新闻想到的
今天看到一则小新闻,讲互联网创始人蒂姆伯纳斯-李爵士为网址http:“//"道歉,牛人的影响力是巨大的,他笑谈,为了这两个无用的斜杠,浪费了多少人力,纸张,呵呵,这也给我们IT人士一个警醒,就是编写程序,设计产品的时候,算法要做到更优,交互要做到更好,操作要做到更少,这样才是合适的,人性化的设计,我们没有蒂姆伯纳斯-李爵士这么牛,但是我们的产品也是有人用的,或者我们写的程序也许以后也有
2009-10-19 13:14:00 1281
原创 读《林锐:我的大学十年》有感
原文:林锐:我的大学十年 我做了一件了不起的事:为了对抗虚荣的引诱,我夸大其辞地把“缺陷”告诉每一个我认识的人,让我没有机会欺骗自己。 -- 林锐 试问有几个人可以做到这一点?每个人都试图隐藏着自己的缺点,而把自己最好的一面展示给别人看,这样当然情有可原,但是向别人展示自己的缺点才需要更大的勇气。 虽然我是在硕士毕业的时候
2009-09-26 23:29:00 3635 3
原创 神奇卡马克
简介来之百度百科,呵呵。约翰·卡马克(“第一人称射击游戏之父”)(John Carmack的全名是John D. Carmack II) ,他生于1970年8月20日),是享誉世界的著名程序员,在电视游戏领域被尊为偶像。Carmack是id Software的创始人之一,id是一家专门开发电子游戏、电视游戏的公司,成立于1991年。 卡马克主要成就基于他在3D方面的研究,
2009-09-26 15:43:00 3088 3
原创 串行总线硬盘为什么比并行总线硬盘快?
SATA(串口)硬盘和IDE(并口)硬盘,记得第一听说串口硬盘还是大二的时候,当时班上的一个同学买了一个串口的硬盘,速度很快,当时就不理解,为什么串行会比并行快的,因为直观上讲,串行一次只能传送一个二进制数字也就是0或者1,而并行总线一次可以传输多个二进制数字,假如一个16位的并行总线,速度应该是串口总线的16倍啊! 事实不是这样,因为这只考虑了位宽,而没有考虑频率,实际
2009-09-17 20:47:00 8642 5
原创 全屏检测(补)
4月16日的时候写了一篇检测当前是否有窗口处于全屏状态的短文,判断当前窗口是否是全屏的山寨版和官方版(http://blog.csdn.net/magictong/archive/2009/04/16/4085477.aspx),后来发现所谓的“官方版”也是有局限性的,因为这种方法是靠系统不停的发送一个全屏还是非全屏状态来决定是否有全屏窗口存在的,但是如果你正在使用QQ影音看电影,全屏
2009-09-15 20:34:00 2536
原创 6种Web框架测评
选用什么Web框架进行开发?这是个问题,现在的Web开发框架越来越多,甚至一门脚本下就有几种web框架,前天在一个老外的blog上看到一则Web框架测评,对6种现在比较流行的Web框架进行测评,原文地址如下:http://www.alrond.com/en/2007/jan/25/performance-test-of-6-leading-frameworks/,测评的6种Web框架和
2009-09-06 11:46:00 5336 2
Win32位程序(64位系统)文件对话框的文件重定向问题(源代码)
2020-04-18
Snort2.2入侵检测系统源码分析全文 - 独孤九贱(基于Snort2.2版本)
2018-12-18
Visual Assist X for VS2017破解版(VAX2210)
2018-08-20
计算机程序设计艺术(1 2 3卷)绝对高清版本
2018-08-07
一个基于WinHttp的轻量级的分片下载库介绍
2018-04-24
Mastering Mesos - Dipa Dubhashi
2017-12-06
TinyHTTPd for Windows源码
2016-11-17
兼容Windows10 IE11增强保护模式的BHO
2015-11-16
The Art of Leaks: The Return of Heap Feng Shui
2014-05-29
C++虚拟多重继承对象模型讨论-样例
2014-03-26
Spring3_权威开发指南 Spring3Security-3.0.1中文官方文档
2011-12-08
Windows XP中的新型向量化异常处理 Understanding SEH Exploitation
2011-11-15
DLL搜索路径和DLL劫持 演示源代码
2011-11-03
神奇的马甲Dll 关于dll劫持
2011-08-24
APE-Plug For Windows Media Player
2011-04-07
AutoFlowchart_专业代码流程图的工具
2011-01-12
py2exe-0.6.9.win32
2010-10-29
剪贴板监控DEMO 源代码
2009-04-19
智能注册表定位器 定位器
2009-02-13
svn清理器 清理svn的垃圾
2009-02-09
让程序只运行一个实例
2008-12-25
Outlook 最小化到托盘
2008-11-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人