本博客于即日起(2009.2.26)停止更新-新博客地址:http://www.redicecn.cn

本博客于即日起(2009.2.26)停止更新,新博客地址:http://www.redicecn.cn ,本博客的大部分文章已经转移到新博客中...
默认分类 | 2009-02-27 02:04 | 阅读 1991 次 | 评论 0 条

[已解决]为含有CString类型成员的结构体动态分配内存,引用CString成员为何出错?

问题如下:我定义了如下的一个结构体:typedef struct{  CString csText;}MyStruct;并有如下的程序段1:MyStruct * p=NULL;p=(MyStruct *)malloc(sizeof(MyStruct));if(!p)   AfxMessageBox("分配内存失败!");else{    p->csText="hello world!";    free(p);}执行程序段1,会出现一个内存读取异常,系统提示程序非法read了一个...
默认分类 | 2009-02-15 18:29 | 阅读 8141 次 | 评论 0 条

[原创-开源]ISAPI Filter实现网站资源防盗链

//ISAPI Filter实现网站资源防盗链//by redice 2008.12.25 redice@163.com原理很简单,就一句话:检查HTTP请求报头中的Referer字段是否为服务器网站的主机头,如果不是则决绝该请求。完整的代码如下://filter.cpp#include <windows.h>// 包含了ISAPI过滤器所需的定义和原型#include <httpfilt.h>#include <stdio.h>// 过滤器描述信息#define FILTER_DESCRIPTION "Isapi Filter v1.0"//SF_NOTIFY_READ_RAW_DAT...
默认分类 | 2008-12-25 13:14 | 阅读 5590 次 | 评论 0 条

[原创]雷驰新闻系统v3.0上传漏洞利用工具

// by redice@163.com 20008.12.3 &#160; &#160;雷驰新闻系统V3.0的uploadpic.inc.asp有上传漏洞,黑客可以通过构造的特殊的URL,以普通游客的身份上传任何格式的文件(当然也包括asp木马了)。这个漏洞应该说有些历史了,网上对这个漏洞的介绍也有很多。大概说一下我这个工具的功能:只要你找到一个有上传漏洞的雷驰系统地址,工具即可帮你完成上传asp助手的操作。不多说了,有兴趣,可以试试。 使用说明:本工具用于学习交流用,如果需要源码作者可以提供,请勿用于犯罪。 (1) 寻找到一个雷驰新闻系统的上传处理程序地址。例如:http://...
默认分类 | 2008-12-11 16:47 | 阅读 7989 次 | 评论 1 条

防止你的ARP病毒危害他人-修改npptools.dll 访问权限

通过下面的这种设置可以防止你的ARP病毒危害他人:把system32\dllcache\npptoolst.dll和system32\npptools.dll都删掉。或直接新建一个文件或文件夹改成npptools.dll后复制到这两个文件夹下面,改成只读,然后改权限,添加everyone组,把这个组的权限都拒绝掉,这样就可以保护这个文件不被病毒覆盖或修改了。原理:ARP病毒缺少了npptools.dll这个文件就不能运行,目前所发现的ARP病毒通通提示npptools.dll出错,无法运行。
默认分类 | 2008-11-24 11:09 | 阅读 6898 次 | 评论 0 条

虚拟网关解决ARP攻击-原理分析

//by redice 2008.11.21&#160; &#160;前些天我在黑基上看到了一篇文章《虚拟网关解决ARP攻击》,感觉很巧妙,原文地址是(http://www.hackbase.com/tech/2008-10-07/41833.html)。唯一不足的地方是原文写的不够通俗。为了让更多的人掌握这个巧妙的方法,今天我斗胆来分析一下《虚拟网关解决ARP攻击》的原理,如果你已经对ARP攻击的原理还不熟悉的话,建议你先去了解一下ARP攻击的原理。1 局域网内通信靠IP地址还是MAC地址?答案:MAC地址。通常局域网内MAC地址是通过IP地址查询到的。2 如果已知网关的MAC地址,而...
默认分类 | 2008-11-23 00:50 | 阅读 9115 次 | 评论 0 条

Linux嵌入式开发学习笔记 redice@163.com since 2008.11

Linux嵌入式开发学习笔记 redice@163.com since 2008.11 Date: 2008.11.18 常用命令: (1) pwd 查看当前目录 (2) ls –l 以列表的形式显示目录内容 (3) cd 目录 切换到指定目录 ; cd / 切换到根目录 ; cd .. 切换到父目录 (4) cp 源文件/目录名 目标文件/目录名 文件、目录复制 (5) mv 源文件/目录名 目标文件/目录名 文件、目录移动、更名 (6) rm [-f][r] 文件名/目录名 强制删除文件、目录 (7) chmod 7...
默认分类 | 2008-11-19 16:58 | 阅读 6158 次 | 评论 0 条

[转载]U盘免疫原理

众所周知,autorun.inf文件是U盘病毒传播的主要途径.因此我们了解它的构造及运行机制对我们来说还是比较有用的.下面主要讲autorun.inf文件的编写规则.相对于inf文件的编写,他还是想当的简单的.一.理解autorun.inf文件简单的说autorun.inf文件是一种具有特定结构的必须放在驱动器根目录下的文件.它控制着双击驱动器时的自动播放选项.二.autorun.inf文件构造所有的autorun.inf文件都具有[autorun]节,这是自动运行标识符.不同的机型具有不用的自动运行标识符.[autorun]是针对PC机(机型为386或为更高)的自动运行标识符.[aut...
默认分类 | 2008-11-07 18:42 | 阅读 5780 次 | 评论 0 条

在虚拟机中识别U盘

我的虚拟机是VMware,可是每当在虚拟机的情况下插入U盘识别的是主系统,而不是虚拟机的系统。这样想从U盘上拷贝个东西就非常麻烦了(可以将U盘共享了)。 今天查看虚拟机的设置中有个“USB控制器”的选项。 复选上那个“自动将新的USB设备与该虚拟主机进行连接”,然后等虚拟机启动后再插入U盘,这样U盘就能被虚拟机识别了。很不错。
默认分类 | 2008-11-07 17:06 | 阅读 10626 次 | 评论 0 条

mssql server出现&quot;选定的用户拥有对象而无法删除&quot;问题的解决

使用ms sql数据库备份文件恢复了数据库,但是当我想删除以前的账户时,ms sql企业管理器却提示“选定的用户拥有对象而无法删除的处理”,网上查了一下,问题终于解决了,方法如下:1 企业管理器->选择服务器->属性->服务器设置->复选上"允许对系统目录进行直接修改"->确定。2 找到你的数据库的sysusers表那你以前的用户删除。3 把1中修改的属性值恢复过来。4 重建用户。本博客于即日起(2009.2.26)停止更新,新博客地址:http://www.redicecn.cn&#160;,本博客的大部分文章已经转移到新博客中...
默认分类 | 2008-11-06 13:46 | 阅读 2970 次 | 评论 0 条

Windows 2003不能用 '..' 表示父目录解决方法

Active Server Pages 错误 'ASP 0131' 不允许的父路径 /user/index.asp,行 1 包含文件 '../include/conn.asp' 不能用 '..' 表示父目录。 解决方法 Internet 信息服务(IIS)管理器>网站站点>>属性>>主目录选项卡>>配置》选项》勾上"启用父路径"的复选框即可.
默认分类 | 2008-11-03 15:25 | 阅读 2744 次 | 评论 0 条

获取cmd程序的输出结果(vb模块)

&#160;&#160;&#160; cmd命令有很多具有强大的功能的,如果我们自己编码实现这些的功能,往往比较复杂。因此我们会想到在自己的程序通过调用这些命令以实现这些复杂的功能。比如修改目录的NTFS权限,如果通过自己编码来实现就很复杂,但是如果使用cacls.exe命令就很简单了。 &#160;&#160; 如何获取到cmd命令执行的结果呢?网上有可以看到两种解决方案,一种是通过">>"管道操作符将输出数据写入文件,然后通过读取文件获取命令执行结果(实现简单,但时效性较差)。第二种是通过管道实现的(实现复杂,但时效性强)。 &#160; &#160;&#160;&#160; ...
默认分类 | 2008-09-20 20:42 | 阅读 13084 次 | 评论 2 条

[经验]TCP,UDP完整数据包校验和通用计算

&#160;&#160;&#160; ICMP,IP,UDP,TCP报头部分都有checksum(检验和)字段。ICMP和IP报头校验和的计算都很简单,使用RFC1071中给出的方法即可完成(如下)。 &#160; //计算校验和USHORT checksum(USHORT *buffer,int size){&#160;unsigned long cksum=0;&#160;while(size>1)&#160;{&#160;&#160;cksum+=*buffer++;&#160;&#160;size-=sizeof(USHORT);&#160;}&#160;if(size)&#...
编程经验 | 2008-08-19 12:02 | 阅读 35181 次 | 评论 2 条

使用互斥对象Mutex为什么不能实现线程同步?

&#160;&#160;&#160;&#160;有过多线程开发经历的人,对于“互斥对象,临界区,事件,信号量”这四个对象肯定不会陌生。就我自己而言,它们真是"让我欢喜让我忧"。"让我欢喜" 因为利用它们往往能解决掉非常棘手的问题,例如经典的"生产者-消费者"问题,"让我忧"因为,我经常把它们搞混淆,用的时候不知道到底该用哪个好,比如我觉互斥对象和信号量这两者很相似,在解决"生产者-消费者"问题时,为了实现线程同步很多例子中都用了信号量,为什么不用互斥对象实现呢?我试图用互斥对象来做了一下,结果失败了。 &#160; &#160;&#160;&#160; 今天我决定解决掉这个问题。仔细...
编程经验 | 2008-07-31 11:55 | 阅读 15123 次 | 评论 1 条

[经验]由OpenProcess的返回值引出&quot;句柄表&quot;

//redice 2008.7.20//redice@163.com &#160; 晚上做了如下的一个小实验,试验结果让我大吃一惊。也就有了这篇日志。#include <windows.h>int main(){&#160;DWORD dwPID=2096;&#160;HANDLE hProcess=NULL;&#160;//根据PID获取进程句柄&#160;hProcess=OpenProcess(PROCESS_ALL_ACCESS,TRUE,dwPID);&#160;printf("process handle:%p\n",hProcess);&#160;CloseHandle...
默认分类 | 2008-07-20 21:52 | 阅读 10041 次 | 评论 0 条

[原创]通过HOOK获取QQ游戏登录密码

//通过HOOK获取QQ游戏登录密码//by redice 2008.7.19//redice@163.com不是什么新鲜货了,只是想重温一下钩子及 DLL的编写...先发个程序运行效果图: 不得不先说一下API函数SendMessage:使用SendMessage向编辑框窗口发送WM_GETTEST消息,可以轻易获取到编辑框的内容(就算这个窗口不属于同一进程)。但是有一个特例,那就是当编辑框窗口具有ES_PASSWORD风格(即密码输入框)且不输入同一进程时,使用上面的方法就失效了。通俗的说,就是当你要使用SendMessage读取的密码框不属于同一个进程时,是读取不到任何内容的。这...
默认分类 | 2008-07-19 14:56 | 阅读 7906 次 | 评论 2 条

[经验]VC++编程技巧[不断更新中]

//2008.7.16&#160;&#160; 2条[1]//防止程序的多个实例同时运行HANDLE hMutex=CreateMutex(NULL,FALSE,"IADSOnlyOnce");/命名Mutex是全局对象 在所有的process都可以访问到&#160;&#160;&#160;&#160; if(ERROR_ALREADY_EXISTS==::GetLastError()){&#160;&#160;&#160;&#160; &#160; AfxMessageBox("该程序已经在运行中...");&#160; ExitProcess(1);}&#160;&#160;&#16...
编程经验 | 2008-07-16 16:37 | 阅读 11053 次 | 评论 0 条

[转载]深入浅出之正则表达式(五)

14. 向前查看与向后查看 Perl 5 引入了两个强大的正则语法:“向前查看”和“向后查看”。他们也被称作“零长度断言”。他们和锚定一样都是零长度的(所谓零长度即指该正则表达式不消耗被匹配的字符串)。不同之处在于“前后查看”会实际匹配字符,只是他们会抛弃匹配只返回匹配结果:匹配或不匹配。这就是为什么他们被称作“断言”。他们并不实际消耗字符串中的字符,而只是断言一个匹配是否可能。 几乎本文讨论的所有正则表达式的实现都支持“向前向后查看”。唯一的一个例外是Javascript只支持向前查看。 · 肯定和否定式的向前查看 如我们前面提过的一个例子:要查找一个...
转载 | 2008-07-13 16:45 | 阅读 3937 次 | 评论 0 条

[转载]深入浅出之正则表达式(四)

11. 组与向后引用 把正则表达式的一部分放在圆括号内,你可以将它们形成组。然后你可以对整个组使用一些正则操作,例如重复操作符。 要注意的是,只有圆括号“()”才能用于形成组。“[]”用于定义字符集。“{}”用于定义重复操作。 当用“()”定义了一个正则表达式组后,正则引擎则会把被匹配的组按照顺序编号,存入缓存。当对被匹配的组进行向后引用的时候,可以用“\数字”的方式进行引用。<<\1>>引用第一个匹配的后向引用组,<<\2>>引用第二个组,以此类推,<<\n>>引用第n个组。而<<\0>>则引用整个被匹配的正则表达式本身。我们看一个例子。 假设你想匹配一个HTML标签的开...
黑客编程 | 2008-07-13 16:43 | 阅读 5607 次 | 评论 0 条

[转载]深入浅出之正则表达式(三)

7. 使用“.”匹配几乎任意字符 在正则表达式中,“.”是最常用的符号之一。不幸的是,它也是最容易被误用的符号之一。 “.”匹配一个单个的字符而不用关心被匹配的字符是什么。唯一的例外是新行符。在本教程中谈到的引擎,缺省情况下都是不匹配新行符的。因此在缺省情况下,“.”等于是字符集[^\n\r](Window)或[^\n]( Unix)的简写。 这个例外是因为历史的原因。因为早期使用正则表达式的工具是基于行的。它们都是一行一行的读入一个文件,将正则表达式分别应用到每一行上去。在这些工具中,字符串是不包含新行符的。因此“.”也就从不匹配新行符。 现代的工具和语言能够将正...
转载 | 2008-07-13 16:37 | 阅读 4973 次 | 评论 0 条
浏览575765次