自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (16)
  • 收藏
  • 关注

原创 DeviceExtenson和DeviceObjectExtension关系猜测

用WinDbg顺便看了下_DEVICE_OBJECT结构,看到了之前疑惑的2个结构:kd> dt _device_object 0x821899c8 nt!_DEVICE_OBJECT   +0x000 Type             : 0n3   +0x002 Size             : 0xd0   +0x004 ReferenceCount   : 0n0

2011-06-17 14:28:00 1550

原创 DeviceExtenson和DeviceObjectExtension关系猜测

用WinDbg顺便看了下_DEVICE_OBJECT结构,看到了之前疑惑的2个结构:kd> dt _device_object 0x821899c8 nt!_DEVICE_OBJECT   +0x000 Type             : 0n3   +0x002 Size             : 0xd0   +0x004 ReferenceCount   : 0n0

2011-06-17 14:27:00 911

原创 DeviceExtenson和DeviceObjectExtension关系猜测

用WinDbg顺便看了下_DEVICE_OBJECT结构,看到了之前疑惑的2个结构:kd> dt _device_object 0x821899c8 nt!_DEVICE_OBJECT   +0x000 Type             : 0n3   +0x002 Size             : 0xd0   +0x004 ReferenceCount   : 0n0

2011-06-17 14:26:00 619

原创 关于自删除程序文件

<br />   思路如下:<br />        好像这个功能可以通过一些库函数的调用实现,具体没有看过,不过突然想起一种想象种可以实现的方法:<br />   exe文件之所以不能自删除因为这时的文件有一种属性(具体不太清楚,没有查),思路是 当前程序运行后进入其他进程,<br />   然后自身结束,然后残留在其他进程中的线程完成自身删除工作,然后退出<br /> <br />   代码稍后贴出:

2010-09-14 11:03:00 651

原创 关于32位os按“段寻址机制”最高64TB的“传说”

<br />网上不少的资料上说32OS通过“段管理机制”最大的virtual address space可以达到64TB,这种结论我感觉完全是按照“实模式”的方式<br />   计算的来的。。。好先说下这是怎么计算来的:<br />                offset:32bits(4GB,注意这里是根据指针所占字节的大小而确定的,或者说按照EAX/EBX/ESP/EBP等等而“决定”的,(如果这里不太理解,想一下:mov [eax], 1234H;是的!寄存器间接寻址,如果超过32位INTEL这

2010-09-14 11:02:00 997

转载 世界是并行的:并行计算的机遇与挑战

 标签:nvidiacuda并行编程高性能计算it分类:CUDA本文是一系列报道的序言,在该系列报道中,计算机科学家以及其他研究人员将利用大量处理器核心来释放并行编程的高性能计算潜力。但是首先让我们来了解一下并行计算机遇与挑战的背景知识。大约在五年前的那段时期内,计算速度的你追我逐曾一度陷入僵局。直到那个时候,设计师还一直是通过人尽皆知的三种技术来实现狂飙的性能:缩小本来已经非常微小的晶体管、在每颗处理器中整合更多数量的晶体管以及让它们以更高的频率运行。问题是,更高的处理器性能意味着更大的功耗和更多发热量,

2010-08-10 14:42:00 706

原创 D3D手动计算vertex normal

<br />D3DXVECTOR3 MyD3D::my_face_normal_computer(D3DXVECTOR3 vertex1, D3DXVECTOR3 vertex2, D3DXVECTOR3 vertex3){ D3DXVECTOR3 normal=D3DXVECTOR3(0.0, 0.0, 0.0); D3DXVECTOR3 vector1=vertex2-vertex1; D3DXVECTOR3 vector2=vertex3-vertex1; //求叉积 D3DX

2010-07-31 02:14:00 1472 1

转载 完美画质 3D游戏反锯齿技术浅析

<br />完美的画面已经离我们不再遥远——反锯齿技术浅析<br />不管现今的游戏画面有多完美,人物和环境有多真实,但游戏画面的构成的主要方式仍然没有得到改善:一帧画面由成千上万像素构成。这意味着物体多边形的轮廓最终是锯齿状的图形。所以画面质量不可能达到理想的标准,除非完全消除“锯齿”。 别担心,精美的画面品质是要牺牲速度的代价来换取的,并且各大显卡厂商都有自己独到的反锯齿技术,他们新的图形加速卡都纷纷支持全屏抗锯齿。完美的画面已经离我们再遥远。<br />超级采样(Supersampling) <br

2010-07-07 12:19:00 1006

原创 函数跳转表浅见

<br />  近两天看了下代码注入,使用dll注入还好,要是不使用dll发现API都不能用了,但是dll注入毕竟会出现自己多挂载上去的dll,所以看了下函数调用,发现无论是系统的API还是自定义函数都有不是直接“call 函数线性地址”这样做的,调用系统API时应该是调用系统的dll中的函数,这时发现调用方式是这样的“”call 一个地址的内容 (注意不同于call一个地址),然后直接用编译器观察反汇编的程序代码,发现有个表:<br /><br />——API函数跳转表,这是我上面程序调用到的所有的API

2010-05-23 01:19:00 1267 1

原创 ring3层面函数HOOK从头来之(一)——无dll远程进程代码注入

今天看到一篇文章,关于远程代码注入,大概思路如下:通过“目标窗口”获得“目标窗口”的hWnd->通过hWnd获得“目标进程”的ID(ProcessID)->根据ProcessID打开“目标进程”获得进程句柄hProcess->利用hProcess在“目标进程”new出一块或多块空间(使用函数VirtualAllocEx)用于填放自己的代码和传入参数,假设预先new出的代码空间地址为pCodeR

2010-05-19 11:32:00 1528

原创 关于绕过过滤驱动的资料的个人看法和摘要

    刻苦钻研了使用驱动直接使用IN/OUT指令来修改MBR,但是读取成功了,而写MBR却一直没有进展,到现在也没有写进去,汗…根据网友提供的链接发现了这篇文章,http://www.codeproject.com/KB/system/rawsectorio.aspx。以下所有的个人看法全部依据本文。     在看这篇文章之前倒是了解过winhex这款软件,也使用这个软件在ring3

2009-12-08 16:22:00 1339 1

原创 IoMarkIrpPending函数

IoMarkIrpPending IoMarkIrpPending例程用于标记指定的IRP,标志着某个驱动的分发例程(分发函数)因需要被其他的驱动程序进一步处理最终返回STATUS_PENDING状态。 VOID IoMarkIrpPending( IN OUT PIRP  Irp ); 参数:Irp                 将被标记为Pending状态的IRP

2009-10-09 12:15:00 4874

原创 IoSetCompletionRoutine函数

IoSetCompletionRoutine宏注册一个IO完成例程,这个完成例程将会在调用此函数的驱动的下一层驱动完成IRP指定的操作请求时被调用。 void IoSetCompletionRoutine( IN PIRP      Irp, IN PIO_COMPLETION_ROUTINE      CompletionRoutine, IN PVOID      Cont

2009-10-09 01:40:00 8263 2

原创 send返回0解析

今天为了检测一下send的过程和closesocket如果同时出现是否会冲突,所以故意把send的缓冲区设置的很大(我设置的为2000000,还没有溢出int),但是发现不能正常收发数据,各自检测server和client,发现server可以接收到不全的数据,但是client的send函数却返回了0,看了一下MSDN,声明说:如果传给send的第三个参数len为0,则send会返回一个有效值0,

2009-07-31 09:40:00 8452 3

原创 日食

今天是日食了,没有在日全食的地段,这点我很遗憾,早上天气并不晴朗,以为即将错过,失去一丝期盼。8点一刻,突然醒来,因为即使是错过也要知道自己有过经过,手忙脚乱的起床,到院子看了一下,没有什么变化,依然是圆的,回屋打开电脑在瞬间完成了对日食准确时间的搜索,8:25分,我有点激动,还没有错过!这时已经20了,短短的几分钟我等待到了它的到来,实际我并不是感受它美丽的景象,我感觉这是与三个巨大的天体的一种

2009-07-22 09:52:00 674

转载 _beginthread还是CreateThread

转自:http://www.cpper.com/site/comments/beginthread_or_createthread/程序员对于Windows程序中应该用_beginthread还是CreateThread来创建线程,一直有所争论。本文将从对CRT源代码出发探讨这个问题。 I. 起因今天一个朋友问我程序中究竟应该使用_beginthread还是CreateThread,并

2009-07-21 17:22:00 656

原创 send和recv函数浅见

在弄完成端口时不得不面对这些问题,本来网络就是本瓶醋菜鸟,知道的东西很少,实际用起来真是有不少的阻力,拿书来看是来不及了,想找send和recv的源码,发现时dll和lib里的,经过一周的奋斗,对socket有点初步的了解了,先说一下个人浅见:在解释前首先做一下声明,不怀疑通信质量问题,也就是说只要是由相关硬件发给已连接的另一端的数据是一定可以到达另一端连接者的硬件的。下面:我认为se

2009-07-21 16:38:00 1986 1

原创 Socket向完成端口多次发送消息浅见

1.     同时发送多个WSARecv消息处理,多余的会有什么情况?使用代码测试,显示结果为全部返回错误997,表示都可以正常发出recv操作,且多个工作线程同时在检测此socket的多个recv消息,运行片刻立即关闭Client端,发现工作线程出现的异常,1个或2个工作线程中的closesocket函数调用失败,错误码为10038,因此要尽力避免对同一个socket向完成端口发送重复的同一

2009-07-18 10:48:00 6755

转载 I/O完成端口

初次使用完成端口,搜罗了一下资料,看到一个博客,不少的好文章,很全面,把作者文章的链接整理下来,就不再转了。Windows完成端口编程: http://hi.baidu.com/winnyang/blog/item/7bc9f6cfaa0d9e3af9dc61a2.htmlIOCP cleanup. (IOCP清理):http://hi.baidu.com/winnyang/blo

2009-07-12 23:42:00 770

原创 VS2005因错误设置目录引起的错误

正在编译...dllentry.cppC:/Program Files/Microsoft Visual Studio 8/VC/PlatformSDK/include/winnt.h(222) : error C2146: 语法错误: 缺少“;”(在标识符“PVOID64”的前面)C:/Program Files/Microsoft Visual Studio 8/VC/PlatformSDK/

2009-07-12 22:44:00 2451 1

原创 脑自动处理机制——信息的自动搜索与自动提取(略谈)

首先闲谈一下,脑处理机制的复杂度用按类穷举的方法依然是不可能的,对此机制的模拟需要一种整合方法,而这个方法对类的划分特点为:不存在多种类别,对此方法而言仅一种类别,换句话说就是没有类别限制(这是相对性的,请不要钻角尖,因为我只需要各位明白我的意思),要适用于所有实体性物质。用实体建立的关联网络(实体关联网络)可以解决实体性物质的关联问题而无类别限制,但处理方式仍难以制定。这部分也就是如何驱动信

2009-07-10 22:29:00 690

原创 MFC消息映射的处理函数

过了几个月的时间对MFC又生疏了一些,近几天又想到一个问题,也不知道以前是不是注意过了,现在发来说一下,呵呵,牛人可别笑话。 在弄MFC消息映射的时候发现了消息处理函数的定义问题,比如说ON_WM_KEYDOWN()的处理函数的原型定义在了类中,但是这个函数的形参要是自主定义的就会有很多疑问了(像没有自主的调用步骤,没有通知系统如何传递参数)?所以我想这个函数一定要在MFC内部有一个原型的限制

2009-07-10 22:05:00 981

原创 人在出生时大脑是不是什么都没有的0的思考

对于有些人的看法:人在出生时大脑为0,这一点我是极不认同的。这一点我的理解是:在出生时大脑至少存在本能及非条件反射,还有更重要的隐含的处理,这些处理就是大脑对一些接收到的外界环境刺激的处理,这些处理是使得人 具有发展出适应并改变环境的能力的 本源因素——意识 。最后归结为本能是大脑自带的,也就是预装的,并且正是 这些本能+人类社会 最终产生了后天的意识。谈到这里就必然引出一个问题:这些能力

2009-06-12 19:34:00 1012

原创 D3D矩阵变换函数整理与说明

矩阵变换矩阵的基本变换有三种:平移,旋转和缩放。平移:D3DXMATRIX *D3DXMatrixTranslation(    D3DXMATRIX* pOut,//返回的结果    FLOAT x, //X轴上的平移量    FLOAT y, //Y轴上的平移量    FLOAT z) //Z轴上的平移量绕X轴旋转:D3DXMATRIX *D3DXMatrixRotationX(    D3D

2009-06-02 15:50:00 1092

原创 我与CxImage

 经过多日的痛苦挣扎终于征服了CxImage类库,在此谈谈具体方式。开始时我用的是cximage600_full,但是在按照配置弄完之后总是不成功出现很多link错误:Linking...   Creating library Debug/Image.lib and object Debug/Image.exp cximage.lib(ximaraw.obj) : error LNK200

2008-10-01 22:47:00 4981 2

原创 void *的错误(error C2036: 'void *' : unknown size)

 这个错误是void型指针引起的,如果是其他的类型应该不会出现这个错误,我的这个错误是因为对这个void *型的指针进行了偏移操作,来写入数据一些原代码如下:void *halfbi;int m=n=i=0;halfbi = GlobalAlloc(GHND, dwBmBitsSize/2);while(i{     memcpy(halfbi+m, lpbi+sizeof

2008-09-24 11:26:00 11092

转载 用VC进行COM编程,必须要掌握哪些COM理论知识

  刚才上网,又找到一篇美文,图都有,太好了。。。用VC进行COM编程,必须要掌握哪些COM理论知识   我见过很多人学COM,看完一本书后觉得对COM的原理比较了解了,COM也不过如此,可是就是不知道该怎么编程序,我自己也有这种情况,我也是经历了这样的阶段走过来的。要学COM的基本原理,我推荐的书是《COM技术内幕》。但仅看这样的书是远远不够的,我们最终的目的是要学会怎么用COM去编程序

2008-07-29 20:05:00 742

sublime显示函数列表插件

目前FuncPreview只支持sublime text 2上的python脚本,理论上是可以支持所有ctags支持的语言的,这需要你自己修改

2014-09-04

bypass_virtual_protect

如果应用于游戏(例如游戏驱动保护hook了VirtualProtect函数)时,若采用标记TYPE_COW(test工程中的宏定义)会被游戏的CRC检测到,则使用TYPE_WRITE修改内存(被修改内存的地址若被CRC,请自行绕过,不在本例范围内)

2012-04-25

SSDT HOOK检测源码包

SSDT HOOK检测,SSDT SHADOW HOOK的检测没有做,跟SSDT检测原理一样,只是多分析一个PE,多比对一套函数,没有计算当前HOOK落到那个moudle也没有INLINE检测,INLINE还是很麻烦,早就有linxer大牛的xuetr了,自己写也没意思

2011-05-23

Intel程序员手册

Interl的程序员开发手册,PDF版。

2009-12-09

简易远控代码(适合初学者)

此程序还存在一些问题,依然适用于初学者,问题已经在内部说明,框架做的不好,尽管已经封装为独立的类,但是代码的可读性还是不太好,但是加了不少的注释可以一定程度的弥补不足,代码的问题希望大家指正

2009-10-05

MakeLine画曲线程序

本程序为画曲线的函数,可以根据输入的实时速度等实时数据画出波动曲线,只要截取内部两个函数,然后自定义一个#define NUM *就可以直接应用到其他的地方了。

2009-04-24

半旋转方式画正方形计算方法

本示例模仿游戏中技能槽(正方形)的旋转式画法,可与AlphaBlend混合使用完全模仿游戏中的技能生成时对应的功能槽的半透明旋转效果。程序简便易懂意在说明问题。

2009-02-10

简陋远程监控程序(代码稍后贴出)

这个资源不含源码,完全源码已经在另一个资源中贴出

2009-02-08

简易聊天工具,socket初步应用

本程序为简易聊天工具,采用socket,含完整开发包

2009-02-05

CxImage用法示例2(显示图像)

本资源与CxImage示例所演示的内容不同,但是同样仅有简单的几行代码,目的是为了让CxImage初学者了解如何运用这个类库的用法,目的与CxImage示例一样,但是代码更简练,更容易突出重点。

2008-12-12

CxImage用法示例

不懂CxImage配置方法的可以考虑,在网上找了好几天都没有发现一个可以用例子说明配置问题的方法,自己弄好了传上来。

2008-10-01

程序的鼠标按键消息模拟

这是一个开发包,程序很小,只进行了一次鼠标右键单击的消息,读者可以很容易的了解程序模拟键鼠的相关代码

2008-09-11

简单的鼠标消息模拟(。。。。。。。。。)

(完整开发包VC6通过)本程序,代码量很小,使读者一目了然,给初学者一个鼠标模拟的简单例子。

2008-09-10

StolenWindow

这是一个完整的开发包,Debug中有已经生成的程序。<br>这个小程序的意义在于运行后可以自动截取屏幕,并且把图片放在C:\下。

2008-05-25

全局钩子开发包(代码示例)

这个小程序只适用于钩子的初识者,高手不必理会。

2008-05-01

单线程钩子开发包

这个小程序专门为初学钩子准备。高手不必理会。

2008-05-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除