- 博客(13)
- 资源 (1)
- 收藏
- 关注
转载 检测内核已加载模块的所有导出函数是否被inlinehook
转自看雪:http://bbs.pediy.com/showthread.php?t=110216好像此论坛还没有谁发过吧,在其他论坛见过,但是有下载限制的。无奈,只好自己写,发出来供像偶这样起步较晚的朋友们参考参考,高手就略过吧,哈哈主要功能:检测内核已加载模块的所有导出函数是否被inlinehook。实现方法:将内存中的模块与原始磁盘文件来做比对,若不同,则此函数被inli
2012-09-26 17:26:01
945
转载 一个调试器的实现(一)调试事件与调试循环
[Win32]一个调试器的实现(一)调试事件与调试循环前言程序员离不开调试器,它可以动态显示程序的执行过程,对于解决程序问题有极大的帮助。如果你和我一样对调试器的工作原理很感兴趣,那么这一系列文章很适合你,这些文章记录了我开发一个调试器雏形的过程,希望对你有帮助。或许我写的代码很拙劣,还请大家多多见谅! 这个调试器使用Visual Studio 2010作为开发工具,是一个控制
2012-09-26 15:37:17
670
转载 SSDT获取原始服务地址的方法与原理
转自:http://blog.youkuaiyun.com/gaa_ra/article/details/6989406 好吧,我胡汉三肥来了..(确实肥了- -),几个月没发什么文章.其实.我也只是一个新丁~欢迎大家交流,高手勿喷,谢谢合作^_^ 对于SSDT,不知道的同学请自己百度,判断出SSDT被HOOK之后,如何恢复成原始服务地址?主要方法有两个,简单来说,一个Ring0,一个Ri
2012-09-26 14:16:06
4578
转载 关于内核定时器,DPC,线程的使用
关于内核定时器,及DPC的使用,看来一些代码,这个估计是比较规范的用法了,很基础,希望对新手有帮助注意,这里的定时器不太精确!#include typedef struct _DEVICE_EXTENSION { LIST_ENTRY list_head; KSPIN_LOCK list_lock; PVOID
2012-09-20 17:31:23
1239
转载 驱动程序中IO定时器的实现详解
IO定时器是DDK提供的一种定时器。使用这种定时器时,每间隔1s系统会调用一次IO定时器例程。程序员稍加改进,就可以将定时间隔修改为多秒。如果需要的时间间隔小于1S,那么IO定时器就没办法做到了,就需要用DPC定时器了。IO定时器的使用之前需要对其进行初始化,初始化的时候使用内核函数IoInitializeTimer。NTSTATUS IoInitializeTi
2012-09-20 15:52:24
3766
转载 PUSHAD PushA
说明将通用寄存器的内容压入堆栈。这些寄存器按以下顺序存储到堆栈:EAX、ECX、EDX、EBX、EBP、ESP(原始值)、EBP、ESI 及 EDI(如果当前操作数大小属性为 32);AX、CX、DX、BX、SP(原始值)、BP、SI 及 DI(如果操作数大小属性为 16)。这些指令执行 POPA/POPAD 指令的逆操作。ESP 或 SP 寄存器压入的值是它在第一个寄存器压入之前的值(请参阅
2012-09-20 14:32:28
989
转载 stosb, stosw, stosd 汇编基础
stosb, stosw, stosd 汇编基础我们来学习下另一组与字符串处理的指令。这组指令需要以指定的字符填充整个字符串或数组时比较有用。那么我们今天学习的这组指令就是stosb, stosw, stosd。这三个指令把al/ ax/ eax的内容存储到edi指向的内存单元中,同时edi的值根据方向标志的值增加或者减少。 同REP前缀联合使用的时候,这组指令需要填充整个字符串或数组时候比较
2012-09-20 14:23:54
686
原创 主要几种编程语言的OEP特征段
以下是主要几种编程语言的OEP特征段:Borland C++0040163C B> /EB 10 jmp short Borland_.0040164E 0040163E |66:623A bound di,dword ptr ds:[edx] 00401641 |43 inc ebx
2012-09-20 09:32:02
1381
原创 花指令
本文作者:sodme本文出处:http://blog.youkuaiyun.com/sodme声明:本文可以不经作者同意任意转载、复制、引用。但任何对本文的引用,均须注明本文的作者、出处以及本行声明信息。可能很多人都听说过花指令,但限于平时的开发所限,可能较少接触到。日前,跟同事讨论了一些有关花指令的问题,现将自己的体会总结一下。这篇文章将讨论以下问题:一、什么是花指令?它的原
2012-09-19 11:28:35
741
转载 VC中使用内联汇编
一、内联汇编的优缺点 因为在Visual C++中使用内联汇编不需要额外的编译器和联接器,且可以处理Visual C++中不能处理的一些事情,而且可以使用在C/C++中的变量,所以非常方便。内联汇编主要用于如下场合:1.使用汇编语言写函数; 2.对速度要求非常高的代码; 3.设备驱动程序中直接访问硬件; 4."Naked" Call的初始化和结束代码。 //(
2012-09-19 10:21:56
843
转载 利用虚拟机技术实现软件保护探讨
http://www.paper.edu.cn 利用虚拟机技术实现软件保护探讨 张路 北京邮电大学计算机科学与技术学院,北京(100876) E-mail:dwingg@gmail.com 摘 要:本文提出一种新的利用虚拟机原理的软件保护手段。阐述了这种手段的完整实现步骤,并在每个步骤都详细论述了实际开发中可以利用的各种实用技巧。综合灵活地运用虚拟机原理和混乱化技术,
2012-09-18 10:41:41
1250
原创 WinDBG 断点命令:bp, bu, bm, ba
WinDBG 提供了多种设断点的命令:bp, bu, bm, ba bp 命令是在某个地址下断点, 可以 bp 0x7783FEB 也可以 bp MyApp!SomeFunction 。 对于后者,WinDBG 会自动找到MyApp!SomeFunction 对应的地址并设置断点。 但是使用bp的问题在于:1)当代码修改之后,函数地址改变,该断点仍然保持在相同位置,不一定继续有效;
2012-09-16 11:49:28
460
转载 extern "C"的用法
extern "C"的用法(一)转自:http://blog.sina.com.cn/s/blog_6dd65c6f01010lon.html首先,先看一下下面这个例子:'C' {}" height="173" alt="C++项目中的extern 'C' {}" src="http://s11.sinaimg.cn/middle/6835f10cga379a7f2
2012-09-13 15:19:46
743
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人