知识点
yeook
这个作者很懒,什么都没留下…
展开
-
指针实现找PE OEP
//指针实现找出OEP如口点 PE文件//PE 在debug版本下从地址0x00400000 往下找第4行 最后4位地址存放的数据就是偏移量 加上0x00400000 // 再往下数2行半 之后开始的4个字节存储的值就是OPE的入口点偏移值 //.exe文件用WinHex打开 地址是00000000开始 查找方式和debug版本下一样 看如下截图#includ原创 2009-12-16 22:25:00 · 536 阅读 · 0 评论 -
Object Hook原始地址查找
写的Object Hook原始地址查找通用性似乎还可以2009-02-15 11:46如题。有关于SecurityProcedure:部分ObjectType在创建的时候没有提供SecurityProcedure,所以无法得到,但是ObCreateObjectType发现SecurityProcedure被提供为NULL的时候会自行设置为SeDefaultObj转载 2011-11-16 23:30:01 · 2937 阅读 · 0 评论 -
HOOK Object XXProcedure 保护进程
HOOK Object XXProcedure 保护进程lkd> !process PROCESS 87cec960 SessionId: 0 Cid: 0bf8 Peb: 7ffd6000 ParentCid: 0c7c DirBase: 0ab405e0 ObjectTable: e2a94618 HandleCount: 353. Image:转载 2011-11-16 23:38:42 · 2229 阅读 · 0 评论 -
FFFFFFFF: wrong basic type sizes in compiler settings
Options --> Compiler-->sizeof(int) == 4 sizeof(bool) == 4 sizeof(enum) == 4 sizeof(long) == 4 sizeof(near pointer) == 4原创 2011-11-27 22:06:27 · 3301 阅读 · 0 评论 -
彻底刷新文件系统的缓存
彻底刷新文件系统的缓存 [转载]void PurgeFileSystemBuffers(PFILE_OBJECT FileObject){KeEnterCriticalRegion();if(ExAcquireResourceExclusiveLite(((PFSRTL_COMMON_FCB_HEADER)FileObject->FsCont转载 2011-11-08 21:56:57 · 3145 阅读 · 0 评论 -
符号
D:\Symbols;SRV*D:\Symbols*http://msdl.microsoft.com/download/symbols PDBSYM_DOWNLOAD_PATH = "c:\\sym"。C:\WinDDK\7600.16385.1\Debuggers\windbg.exe很多人跟踪到Windows自带的DLL里的时候有时会很茫然……突然找到一种方法能让它们都有转载 2011-11-12 15:02:30 · 1555 阅读 · 0 评论 -
导出类 和安全使用
1:类构造私有化2:不直接操作成员变量3: static CGameUpdate* CreateGameUpdateInstance(); 创建类 #pragma onceclass __declspec(dllexport) CGameUpdate{private: CGameUpdate(void);public: ~CGameUpdate(void);原创 2011-12-12 22:33:01 · 504 阅读 · 0 评论 -
CImageList用法介绍
图像列表控制(CImageList)是相同大小图像的一个集合,每个集合中均以0为图像的索引序号基数,图像列表通常由大图标或位图构成,其中包含透明位图模式。可以利用WINDOWS32位应用程序接口函数API来绘制、建立和删除图像,并能实现增加、删除、替换和拖动图像等操作。图像列表控制提供了控制图像列表的基本方法,这些方法在WINDOWS95及以后版本才能实现。(一)图像控制的对象结构1、转载 2012-06-10 19:14:45 · 699 阅读 · 0 评论 -
MFC DLL 资源模块句柄切换
以前写MFC的DLL的时候,总会在自动生成的代码框架里看到提示,需要在每一个输出的函数开始添加上AFX_MANAGE_STATE(AfxGetStaticModuleState())。一直不明白这样做的含义,也一直没有这样做,而且代码也工作 得好好的,所以感觉这好像一句废话。最近的项目中,需要在DLL里使用MFC生成界面,这才发现一旦资源放在不同的动态库里,而且还和多 线程搅和在一起的时候转载 2012-06-10 22:04:17 · 823 阅读 · 0 评论 -
Windows使用CPU时间戳进行高精度计时
对关注性能的程序开发人员而言,一个好的计时部件既是益友,也是良师。计时器既可以作为程序组件帮助程序员精确的控制程序进程,又是一件有力的调试武器,在有经验的程序员手里可以尽快的确定程序的性能瓶颈,或者对不同的算法作出有说服力的性能比较。 在Windows平台下,常用的计时器有两种,一种是timeGetTime多媒体计时器,它可以提供毫秒级的计时。但这个精度对很多应用场合而言还是太粗糙了。另转载 2012-06-14 12:26:21 · 1460 阅读 · 0 评论 -
获取多处理器系统的IDT表地址
获取多处理器系统的IDT表地址,是通过设置操作所依赖的处理器核心来实现的.在系统中处理器是从0开始进行编号的,如果只有一个处理器那它的编号就是0;有两个就是0和1,依此类推.获取系统处理器的总数是直接使用内核的导出变量KeNumberProcessors来实现的,当然还有其他的方法,在这里我就不说了.下面这段代码就是获取多处理器系统所有IDT地址的代码.主要函数的描述,我在转载 2011-10-20 23:19:52 · 2800 阅读 · 3 评论 -
windows 7 旗舰版下,安装vs2010旗舰版终于成功!
windows 7 旗舰版下,安装vs2010旗舰版终于成功!折腾了好久好久郁闷了好久着急了好久终于把VS 2010 旗舰版安装成功了! 情况:1.我的本本是tinkpad,购买的时候预装了window7 home basic 在网上找了一下序列号升级到window7 旗舰版本。2.之前我一直用windows xp 对window7相当的陌生!直接跳级可不是简单的事情啊!!转载 2011-10-19 23:33:41 · 3976 阅读 · 0 评论 -
static全局变量 局部变量的原理 本质
//粉碎命名后的名字可以打开XXX.obj文件查看#include "stdafx.h"void add(int n) //{ static int nTest1=n; // static int nTest2=n*n; // static int nTest3=n*n*n; // //因为静态变量在编译的时候名字已经被粉碎重新命名 且写在程序的数据段。 //此处的局部静态变量没原创 2009-12-15 22:06:00 · 774 阅读 · 0 评论 -
数组名是常量 常量是不可以被修改的
数组名是常量 常量是不可以被修改的 #include int nTest[]={1,2,3,4,5,6};int main(int argc, char* argv[]){ printf("%d",nTest[argc]);//这里断点 切换到汇编界面查看其值 如下图所示:nTest将被0x00424A30 所替换 return 0;}原创 2009-12-16 20:50:00 · 1358 阅读 · 0 评论 -
字符串常量也能在程序运行后修改 通过修改PE文件格式 跳过其属性,改成可读写属性
#include void fun(char szBuffer[]){ int i=0; for (i=0;szBuffer[i]!=/0;i++) { szBuffer[i]=A; //实参字符串是常量,其值不可以被修改 将引发错误; 但是可以用WinHex打开.exe文件修改其属性 //找到.rdata开始往下数2行半修改40值为C0 则可以直接运行该程序 且输出原创 2009-12-16 23:20:00 · 1084 阅读 · 0 评论 -
fatal error C1010: unexpected end of file while looking for precompiled header directive 头文件设置
fatal error C1010: unexpected end of file while looking for precompiled header directive 当添加了一个的.cpp文件时 编译提示以上语句错误 双击错误定位于文件末行 就算是文件为空 还是会报该错误 解决方法 1、每个cpp文件中加入 #incl原创 2009-12-18 23:09:00 · 427 阅读 · 0 评论 -
开启调试信息输出
<br />Windows Registry Editor Version 5.00<br />[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Session Manager/Debug Print Filter]<br />"DEFAULT"=dword:00000008原创 2011-04-12 23:48:00 · 556 阅读 · 0 评论 -
16进制字符串 格式化到内存
int _tmain(int argc, _TCHAR* argv[]){ char szBuf[]="053d56da3fac2f010000dfe017000401dfb5310100000000d40139020100"; char *p = szBuf; char szTemp[3] = {0}; int n = 0; char szResult[200] = {0}; for (int i=0,j=0;i { memcpy(szTemp,p+i,2); sscanf(szTemp,"%x",&原创 2011-05-02 00:25:00 · 1672 阅读 · 0 评论 -
【转】快捷方式lnk文件格式详解(英文)
转自:http://www.stdlib.com/art6-Shortcut-File-Format-lnk.htmlYou should consider using the IShellLink interface which is a safe way to handle原创 2011-07-12 15:18:27 · 677 阅读 · 0 评论 -
WRK中全部访问DebugPort的函数总汇。
KiDispatchException //1处NtQueryInformationProcess //1处PspCreateProcess //1处PsGetProcessDebugPort //1处PsIsProcessBein转载 2011-07-24 21:43:12 · 1282 阅读 · 0 评论 -
清理Visual Studio最近打开的项目、文件、查找内容和最近引用组件
清理Visual Studio最近打开的项目、文件、查找内容和最近引用组件 清理Visual Studio最近打开的项目和文件、查找的内容和最近引用组件(以Visual Studio 2010为例):Visual Studio中总是保留最近打开的项目和文件的记录,以及查找的内容,原创 2011-07-29 11:08:24 · 1192 阅读 · 0 评论 -
WINDOWS 7 配置驱动开发环境(wdk7.60)
WINDOWS 7 配置驱动开发环境(wdk7.60)1. 安装VS2010,WDK7.60(GRMWDK_EN_7600_1)2. 新建VC 控制台项目(选择为空项目) 3. 新建项目配置“driver” ,点击下拉按钮-点击(配置管理器)输入名称(driver)点击确定就可以了,其他的不要动哦!完成后的效果!点击确定按钮之后呈现出来的画面转载 2011-10-19 23:37:05 · 1579 阅读 · 0 评论 -
宏
#ifndef _UNICODE #define _stprintf sprintf #else #define _stprintf wsprintf #endif原创 2012-09-24 09:55:44 · 647 阅读 · 0 评论