- 博客(41)
- 收藏
- 关注
原创 宏
#ifndef _UNICODE #define _stprintf sprintf #else #define _stprintf wsprintf #endif
2012-09-24 09:55:44 659
转载 汇编指令
汇编语言指令详讲(2011-05-13 17:31:32)标签:it分类: 汇编-C-C-java-VB编程 AAA 未组合的十进制加法调整指令 AAA(ASCII Adgust for Addition)格式: AAA功能: 对两个组合的十进制数相加运算(存在AL中)的结果进行调整,产生一个未
2012-06-14 12:27:30 9588
转载 Windows使用CPU时间戳进行高精度计时
对关注性能的程序开发人员而言,一个好的计时部件既是益友,也是良师。计时器既可以作为程序组件帮助程序员精确的控制程序进程,又是一件有力的调试武器,在有经验的程序员手里可以尽快的确定程序的性能瓶颈,或者对不同的算法作出有说服力的性能比较。 在Windows平台下,常用的计时器有两种,一种是timeGetTime多媒体计时器,它可以提供毫秒级的计时。但这个精度对很多应用场合而言还是太粗糙了。另
2012-06-14 12:26:21 1510
转载 MFC DLL 资源模块句柄切换
以前写MFC的DLL的时候,总会在自动生成的代码框架里看到提示,需要在每一个输出的函数开始添加上AFX_MANAGE_STATE(AfxGetStaticModuleState())。一直不明白这样做的含义,也一直没有这样做,而且代码也工作 得好好的,所以感觉这好像一句废话。最近的项目中,需要在DLL里使用MFC生成界面,这才发现一旦资源放在不同的动态库里,而且还和多 线程搅和在一起的时候
2012-06-10 22:04:17 838
转载 CImageList用法介绍
图像列表控制(CImageList)是相同大小图像的一个集合,每个集合中均以0为图像的索引序号基数,图像列表通常由大图标或位图构成,其中包含透明位图模式。可以利用WINDOWS32位应用程序接口函数API来绘制、建立和删除图像,并能实现增加、删除、替换和拖动图像等操作。图像列表控制提供了控制图像列表的基本方法,这些方法在WINDOWS95及以后版本才能实现。(一)图像控制的对象结构1、
2012-06-10 19:14:45 721
原创 导出类 和安全使用
1:类构造私有化2:不直接操作成员变量3: static CGameUpdate* CreateGameUpdateInstance(); 创建类 #pragma onceclass __declspec(dllexport) CGameUpdate{private: CGameUpdate(void);public: ~CGameUpdate(void);
2011-12-12 22:33:01 514
原创 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 3320
转载 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 2240
转载 Object Hook原始地址查找
写的Object Hook原始地址查找通用性似乎还可以2009-02-15 11:46如题。有关于SecurityProcedure:部分ObjectType在创建的时候没有提供SecurityProcedure,所以无法得到,但是ObCreateObjectType发现SecurityProcedure被提供为NULL的时候会自行设置为SeDefaultObj
2011-11-16 23:30:01 2957
转载 符号
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 1574
转载 彻底刷新文件系统的缓存
彻底刷新文件系统的缓存 [转载]void PurgeFileSystemBuffers(PFILE_OBJECT FileObject){KeEnterCriticalRegion();if(ExAcquireResourceExclusiveLite(((PFSRTL_COMMON_FCB_HEADER)FileObject->FsCont
2011-11-08 21:56:57 3197
转载 获取多处理器系统的IDT表地址
获取多处理器系统的IDT表地址,是通过设置操作所依赖的处理器核心来实现的.在系统中处理器是从0开始进行编号的,如果只有一个处理器那它的编号就是0;有两个就是0和1,依此类推.获取系统处理器的总数是直接使用内核的导出变量KeNumberProcessors来实现的,当然还有其他的方法,在这里我就不说了.下面这段代码就是获取多处理器系统所有IDT地址的代码.主要函数的描述,我在
2011-10-20 23:19:52 2877 3
转载 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 1593
转载 windows 7 旗舰版下,安装vs2010旗舰版终于成功!
windows 7 旗舰版下,安装vs2010旗舰版终于成功!折腾了好久好久郁闷了好久着急了好久终于把VS 2010 旗舰版安装成功了! 情况:1.我的本本是tinkpad,购买的时候预装了window7 home basic 在网上找了一下序列号升级到window7 旗舰版本。2.之前我一直用windows xp 对window7相当的陌生!直接跳级可不是简单的事情啊!!
2011-10-19 23:33:41 4003
转载 zlib 1.2.5 编译 ( VS2010 )(
1. 下载 http://zlib.net/zlib-1.2.5.tar.gz2. 编译 - 解压到目录,如d:\library - 开启VS2010的Command Prompt (32bit) - 进入到zlib-1.2.5\con
2011-09-12 22:16:19 1622
转载 基于pspCidTable的进程检测技术 .
基于pspCidTable的进程检测技术文章作者:gz1x信息来源:邪恶八进制信息安全团队(www.eviloctal.com)一. pspCidTable概念及内核调试二. 获取pspCidTable的方法三. 几种进程检测方
2011-08-20 22:41:13 8847
原创 清理Visual Studio最近打开的项目、文件、查找内容和最近引用组件
清理Visual Studio最近打开的项目、文件、查找内容和最近引用组件 清理Visual Studio最近打开的项目和文件、查找的内容和最近引用组件(以Visual Studio 2010为例):Visual Studio中总是保留最近打开的项目和文件的记录,以及查找的内容,
2011-07-29 11:08:24 1240
转载 WRK中全部访问DebugPort的函数总汇。
KiDispatchException //1处NtQueryInformationProcess //1处PspCreateProcess //1处PsGetProcessDebugPort //1处PsIsProcessBein
2011-07-24 21:43:12 1299
原创 The system does not support local kernel debugging 之Win7 64位
cmd --> bcdedit -debug on 重启后 windbg.exe 就可以 local kernel debugging 。
2011-07-23 13:26:57 1869
原创 【转】快捷方式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 688
转载 如何去掉WIN7系统用户登陆界面
在开始菜单搜索框输入 “netplwiz” 按回车,取消对“要使用本机,用户需输入用户名和密码(E)”项的勾选,按确定,输入默认登录系统的用户名和密码,输入完成后点击确定。
2011-07-10 10:06:01 1391
原创 win7 Sendto 文件夹路径
sendto目录现在被移到了这里 %APPDATA%/Microsoft/Windows/SendTo %APPDATA%是个环境变量,具体来说是在这里: C:/users//AppData/Roaming 那我的sendto就躲在了这里: C:/users/delxu/AppD
2011-07-09 16:43:56 1286
原创 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 1701
转载 OD加载微软符号
<br />工具:<br />ollydbg 1.10<br />StrongOD v0.2.6.413以上<br />准备一个空目录去放微软符号(如果你经常用windbg调试,可以设成同一个目录)<br />将下载微软符号库的相关文件copy到od目录,见附件(可以直接去windbg目录下面copy过来),分别是:dbgeng.dll,dbghelp.dll,srcsrv.dll,symbolcheck.dll,symsrv.dll,symsrv.yes。一共6个文件,当然dbghelp.dll大家都有了
2011-04-26 22:41:00 1331
原创 压缩批处理
<br />set y=%date:~0,4%<br />set m=%date:~5,2%<br />set d=%date:~8,2%<br />set /a m=%m%-1<br />if %m% LSS 1 goto end<br />pause<br />if %m% LSS 10 set m=0%m%<br />"C:/Program Files/WinRAR/winrar.exe" a -k -r -s D:/数据备份/%y%/%m%.rar D:/数据备份/%y%/%m%<br />rd /
2011-04-26 15:39:00 352
转载 Setforegroundwindow 将窗口置最前
Setforegroundwindow 将窗口置最前 windows下简单的调用Setforegroundwindow并不能将窗口置最前,我找到三种方法可以实现该功能。<br /><br />1、先置topmost,然后取消<br /> SetWindowPos(HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE);<br /> SetWindowPos(HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE
2011-04-19 14:43:00 1093
原创 vs2008 dll 导出函数
<br />一直没有找到如何在vs2008里编写dll导出函数的方法,我指的是通过.def文件,不是通过__declspec(dllexport)。因为vs2008不像vc6,简单的把.def加入到工程里就行了。<br /> 后终于在msdn里查到了,方法如下:(你也可以查看msdn)<br /> 1、打开property pages(Alt + F7也行)<br /> 2、Linker-->Input-->Module Definition file,输入你的.def文件名<br
2011-04-17 23:19:00 1034
原创 锁进程
<br />本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/whf727/archive/2011/01/30/6170124.aspx<br />*/<br />BOOLEAN AcquireProcessLock(PEPROCESS pEPROCESS,HANDLE hPID)<br />{<br /> NTSTATUS status;<br /> <br /> if (NULL == pEPROCESS)<br /> {<br /> status = PsLookup
2011-04-15 08:59:00 465
转载 得到全路径
<br />lkd> dt _EPROCESS 85f6a020<br />nt!_EPROCESS<br /> +0x000 Pcb : _KPROCESS<br /> +0x06c ProcessLock : _EX_PUSH_LOCK<br /> +0x070 CreateTime : _LARGE_INTEGER 0x1c84d06`aa4a24ec<br /> +0x078 ExitTime : _LARGE_INTE
2011-04-13 23:15:00 626
原创 内核异常
__try { peb = *(ULONG*)peb; } __except(EXCEPTION_EXECUTE_HANDLER) { ; }
2011-04-13 22:22:00 384
原创 时间转换函数
<br />SYSTEMTIME systime;<br />GetLocalTime(&systime);<br />union <br />{<br />FILETIME ft;<br />ULONGLONG ut;<br />}t;<br />SystemTimeToFileTime(&systime,&t.ft);<br />t.ut-=UInt32x32To64(60*60*24, 10000000);<br />FileTimeToSystemTime(&t.ft,&systime);
2011-04-12 23:49:00 361
原创 开启调试信息输出
<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 569
原创 WinDbg符号地址设置
<br />D:/Symbols;SRV*D:/Symbols*http://msdl.microsoft.com/download/symbols <br />
2011-04-10 22:26:00 1007
原创 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 440
原创 字符串常量也能在程序运行后修改 通过修改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 1105
原创 指针实现找PE OEP
//指针实现找出OEP如口点 PE文件//PE 在debug版本下从地址0x00400000 往下找第4行 最后4位地址存放的数据就是偏移量 加上0x00400000 // 再往下数2行半 之后开始的4个字节存储的值就是OPE的入口点偏移值 //.exe文件用WinHex打开 地址是00000000开始 查找方式和debug版本下一样 看如下截图#includ
2009-12-16 22:25:00 555
原创 数组名是常量 常量是不可以被修改的
数组名是常量 常量是不可以被修改的 #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 1383
原创 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 785
原创 scanf 溢出原理 小程序 密码验证
因为在scanf函数读入数据时,如果输入的数据过长,会覆盖掉栈里面其他变量的内容。达到溢出利用。本程序只是掩饰如何覆盖其密码,达到越过验证! 在本程序中第一次输入 1111111122222第2次输入22222就可以通过验证 具体可以下断点查看内存数据的变化 #include "stdafx.h"#include int main(int argc, char
2009-12-14 20:44:00 847
原创 简单的走迷宫算法 非高效版 递归实现 Yeook
//墙壁为4 未走过的路为0 走过的标识为1 无路可走退回时走标号为1的路 并把退回的路标识为3 //递归结束条件为退回到入迷宫的口 或者找到了迷宫的出口 BY Yeook 2009-12-12 17:32:56 #include "stdafx.h"#include int maze[12][12]={ {4,4,4,4,4,
2009-12-12 17:25:00 2598
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人