123456

 
上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 39 下一页

2012年8月30日

怎么让windbg随进程加载自动启动

摘要: 在\HKEY_LOCAL_MACHINE_SOFTWARE\Mircosoft\WIndows NT\CurrentVersion\Image File Execution Options\下,建一个项,比如DNF,就叫DNF.exe,再在右边建一个 子项叫Debugger 类型REG_SZ,填上windbg的地址,再用windbg -i设置为默认调试器,之后就可以直接在dnf.exe起来时直接附加上. 阅读全文

posted @ 2012-08-30 21:59 hgy413 阅读(557) 评论(0) 推荐(0) 编辑

打LOG宏控制

摘要: 可以用这样的宏控制:#ifdef _DBG#define MyOutputDebugStringA _MyOutputDebugStringA#else #define MyOutputDebugStringA /##/ // /##/就是注释符 阅读全文

posted @ 2012-08-30 14:37 hgy413 阅读(189) 评论(0) 推荐(0) 编辑

_EMIT伪指令

摘要: _EMIT伪指令相当于MASM中的DB,但一次只能定义一个字节__asm { JMP _CodeOfAsm _EMIT 0x00 ; 定义混合在代码段的数据 _EMIT 0x01 _CodeOfAsm: ; 这里是代码 _EMIT 0x90 ; NOP指令 } 阅读全文

posted @ 2012-08-30 09:45 hgy413 阅读(356) 评论(0) 推荐(0) 编辑

2012年8月29日

__declspec(naked)详解

摘要: __declspec(naked)是用来告诉编译器函数代码的汇编语言为自己的所写,不需要编译器添加任何汇编代码注意点:void __declspec(naked) funname(){_asm{...ret}}注意,__declspec(naked)是编译器直接拿来用的汇编函数代码,所以一定要记得在开始的时候保存上下文标志位(压栈),在结束的时候要记得恢复上下文(出栈)。并且在结尾要加上ret命令比较下面两段代码:(都是调用strcmp函数)VOID __declspec(naked) MyNakedFunction(){strcmp(...);// __cdecl 函数是调用者清除参数堆栈, 阅读全文

posted @ 2012-08-29 20:45 hgy413 阅读(634) 评论(0) 推荐(0) 编辑

string头文件与cstring头文件

摘要: 首先说string的头文件1、包装了std的C++头文件2、旧的C头文件3、旧C头文件的std版本,切记,这不是cstring的头文件详见effectivec++的第49条再说cstring的头文件注:VC9编译环境下1、非MFC版本,控制台程序就用这个、都可以。//要在项目->属性->常规里设置为使用MFC(动/静).2、//onlybeusedinMFCprojects.MFC版本,需要链接MFC的dll或静态库。网上很多人说要包含,包含的东西就比较多了CObject及其派生类,还有文件类、时间类、异常类、字符串类等等(700多行的位置包含了afxstr.h),如果仅仅需要cs 阅读全文

posted @ 2012-08-29 11:31 hgy413 阅读(539) 评论(0) 推荐(0) 编辑

2012年8月25日

一键清理源码目录

摘要: 经常编程序的人,常常会遇到源码目录下生成很多临时文件需要清理的情况。比如要备份一个VS2008的工程的全部源码,当然希望备份的内容是纯粹的源码了。那些.ncb .obj .suo等等很多类型的中间产物,自然是不愿意被打包到源码目录之中的。这些文件如果不幸被打包,那么你30K的源码被打包成30M,是很常见的事情。我以前每次打包源码之前,都会手动把所有的不需要的文件都给删除掉。操作次数多了,就想办法让这个工作更简单,起初我是编写了一个批处理文件ClearSrc.bat,这个批处理可以递归删除当前目录下(包括子目录)的所有无用文件。每次需要清理某个目录的时候,把这个批处理文件copy到需要清理的文件 阅读全文

posted @ 2012-08-25 18:02 hgy413 阅读(179) 评论(0) 推荐(0) 编辑

MACBOOK安装WIN7(单系统)

摘要: MACBOOK彻底删除OSX安装WIN7用WINDOWS7安装光盘来启动笔记本(非GHOST版),启动安装进程后,到输入序列号的界面时,按SHIFT+F10进入命令提示符,依次键入如下命令:diskpartselect disk 0cleanexit然后退出命令提示符继续安装,在分区界面重新给硬盘分区即可。如果以后想重装OSX,用磁盘工具ERASE为OSX建立分区就行了 阅读全文

posted @ 2012-08-25 16:10 hgy413 阅读(438) 评论(0) 推荐(0) 编辑

2012年8月17日

__declspec(naked) 生成纯汇编使用方法

摘要: __declspec(naked)是用来告诉编译器函数代码的汇编语言为自己的所写,不需要编译器添加任何汇编代码,通俗说可生成纯汇编。使用方法:#define NAKED __declspec(naked)VOID NAKED MyFunc(){ __asm { ret }}1,使用naked 关键字必须自己构建EBP 指针(如果用到了的话);2,必须自己使用RET 或RET n 指令返回(除非你不返回);这是编译器直接拿来用的汇编函数代码,所以一定要记得在开始的时候保存上下文标志位(压栈),在结束的时候要记得恢复上下文(出栈)。并且在结尾要加上ret命令。对于一般的汇编内嵌代码,不必保存上下文 阅读全文

posted @ 2012-08-17 09:08 hgy413 阅读(205) 评论(0) 推荐(0) 编辑

2012年8月16日

使用异步过程调用(APC)实现模块注入

摘要: 来自博客:http://blog.csdn.net/evi10r/article/details/6745138摘自:windows编程循序渐进 异步过程调用是一种能在特定线程环境中异步执行的系统机制。往线程APC队列添加APC,系统会产生一个软中断。在线程下一次被调度的时候,就会执行APC函数,APC有两种形式,由系统产生的APC称为内核模式APC,由应用程序产生的APC被称为用户模式APC。 每个线程都拥有自己的APC队列。应用程序可以使用函数把APC添加到指定线程的APC队列,函数定义如下:[cpp] view plaincopyprint?DWORDWINAPIQueueU... 阅读全文

posted @ 2012-08-16 09:48 hgy413 阅读(327) 评论(0) 推荐(1) 编辑

2012年8月11日

USER32!__ClientLoadLibrary定位.

摘要: 保护软件一般都直接用新的函数指针替换CallBack表中__ClientLoadLibrary对应的位置对于Ring3的应用程序,fs:[0]的地址指向的是TEB结构,这个结构的开头是一个NT_TIB结构,NT_TIB结构的0x18偏移处是一个Self指针,指向这个结构自身,也就是指向TEB结构的开头。TEB结构的0x30偏移是一个指向PEB的指针。PEB又是一个结构,这个结构的0x2偏移处是一个UChar,名叫BeingDebugged,当进程被调试时,此值为1,未被调试时此值为0因此以下代码逐行执行后的结果:mov eax,dword ptr fs:[18h];eax=TEB的指针mov 阅读全文

posted @ 2012-08-11 10:19 hgy413 阅读(562) 评论(0) 推荐(0) 编辑

上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 39 下一页

导航