liujiayu2的专栏

玩点技术

IDT系列:(二)中断处理过程,使用bochs调试IDT中的中断服务程序

一、中断处理的过程   根据Intel 64 and IA-32 Architectures Software Developer’s Manual 的介绍,在中断或异常产生是,CPU会将当前执行的指令(或下一条指令)在内存中的地址,也就是EIP的值,放入栈中,同时还会放入CS段寄存器和efl...

2017-06-30 10:41:21

阅读数:391

评论数:0

IDT系列:(一)初探IDT,Interrupt Descriptor Table,中断描述符表

IDT,Interrupt Descriptor Table,中断描述符表是CPU用来处理中断和程序异常的。   一、有关IDT的基本知识 1、中断时一种机制,用来处理硬件需要向CPU输入信息的情况。 比如鼠标,键盘等。 2、中断和异常的产生是随机的,在CPU正常运...

2017-06-30 10:40:27

阅读数:201

评论数:0

简单地隐藏驱动分析

当系统加载一个驱动时,会为这个驱动建立一个_KLDR_DATA_TABLE_ENTRY结构体,DRIVER_OBJECT结构体的DriverSection成员指向这个结构体。以下是WRK中_KLDR_DATA_TABLE_ENTRY结构体的定义: typedef struct _KLDR_D...

2017-06-30 10:30:56

阅读数:253

评论数:0

用SSDT方法恢复冒险岛的部分函数

看了那么多文章、视频,现在自己跟着做下恢复的驱动程序吧。今天拿冒险岛的HS驱动做为例子吧。冒险岛游戏对Xuetr进行检测了,打开XueTr不久就会游戏发现非法模块,最终游戏关闭。就拿上了一款叫Kernel Detective的ARK工具进行检测冒险岛的驱动吧。   因为Kernel Detect...

2017-06-30 10:28:55

阅读数:340

评论数:0

来自看雪的手把手调试DebugPort清零

现在多数程序为了防止调试。基本上都用到了驱动HOOK 内核API。 至于绕过那些HOOK,基本上大家应该已经是没有什么问题了。 估计像我这样的菜鸟也不算多了。研究DebugPort 清0,倒是难倒了我。。。 所谓DebugPort 清0,就是向 EPROCESS->DebugP...

2017-06-30 10:26:42

阅读数:910

评论数:0

网上一个仿TP挂钩内核的源码

最近研究TESSAFE.SYS的驱动,GOOGLE搜索到微点也是一样的手法HOOK call ObOpenObjectByPointe,把不完整的代码给编写实现了下。未实现检测,应该是有修改我的代码或恢复HOOK call即重启或蓝屏,我为了方便没实现,下载我改动后驱动文件,用来保护记事本不被OP...

2017-06-30 10:25:44

阅读数:307

评论数:0

简单Hook SYSENTER

其实所有的HOOK,都基本是一样道理。就是勾住你的目标函数,实现你自己的功能。只要你掌握了,HOOK的原理。剩下的就是寻找目标函数了。      今天回忆一下 HOOK SYSENTER,目的当然还是继续充实自己的BLOG,继续灌水。 一:认识SYSENTER    SYSENTER是一个东...

2017-06-30 10:22:23

阅读数:397

评论数:0

简单的IDT HOOK介绍

IDT即中断描述表。当然系统发生中断时(有可能是CPU中断,也有可能是I/O中断等)。系统会通过中断向量查找IDT保存的ISR(中断服务程序)来调用相关的处理例程。IDT Hook就是替换这个ISR。 也许上面的过程你不是很明白。我们具体的了解下过程。 IDT是一个有256个入口的线性...

2017-06-30 10:21:44

阅读数:321

评论数:0

应用层勾子IAT HOOK(源码)

//www.yjxsoft.com 2010.6.26 //文件名 IAT.H #include VOID __stdcall mySleep(DWORD m) { MessageBoxA(0,"Hook 成功","IAT hook",MB_OK); ...

2017-06-28 20:09:25

阅读数:238

评论数:0

简单实现了下SSDT SHADOW HOOK

介绍:         SSDT SHADOW HOOK可用于安全软件窗口保护、安全输入、截屏保护等。例如:挂钩NtUserFindWindowEx、NtUserGetForegroundWindow、NtUserBuildHwndList、NtUserQueryWindow、NtUserWin...

2017-06-28 09:21:09

阅读数:375

评论数:0

内核层 inlinehook 隐藏进程

上次是SSDT  HOOK 方式 隐藏 进程 ,如链接:http://blog.csdn.net/hjxyshell/article/details/16993119 这次是InlineHook 方式隐藏进程,这里inline hook的原理就不做详细介绍了,网上相关资源较多,撸主主要参考看...

2017-06-27 15:45:43

阅读数:195

评论数:0

针对某游戏保护DebugPort清零的一次逆向

作 者: 悲歌 首先还是先了解一下DebugPort吧,百度之后得到了如下结果  -------------------------------此处转贴------------------------------------ 每个进程都有一个数据结构,EPROCESS,这个结构是在内核里面的...

2017-06-20 15:13:57

阅读数:572

评论数:0

用VS2012或VS2013在win7下编写的程序在XP下运行就出现“不是有效的win32应用程序

问题描述: 用VC2013编译了一个程序,在Windows 8、Windows 7(64位、32位)下都能正常运行。但在Win XP,Win2003下运行时,却报错不能运行,具体错误信息为“指定的可执行文件不是有效的 Win32 应用程序”。 用VS2012或VS2013在wi...

2017-06-16 15:47:07

阅读数:4934

评论数:0

逆向工程核心原理学习笔记(十四):栈帧1

栈帧的话,直接截了一些图,大家看一下就好了,理解起来很简单,就是简单的参数转存。 看完之后,我们需要用一个小程序来进一步学习我们的栈帧了。 下载地址:http://t.cn/RaUSglI 代码写法: ...

2017-06-16 15:16:18

阅读数:258

评论数:0

逆向工程核心原理学习笔记(十三):分析abex' crackme #1 的延伸:将参数压入栈

还是上一次的abex' crackme #1,我们用OD附加看一下。 我们发现在调用这个MessageBox函数的时候,用了4个PUSH指令,我们在后面的注释中可以清楚的看到压入参数的内容。 如果我们将它还原成C语言的形式,是这样的: ...

2017-06-16 15:15:40

阅读数:353

评论数:0

逆向工程核心原理学习笔记(十二):分析abex' crackme #1

程序下载地址:http://t.cn/RX1wpX7 我们首先运行一下,看看提示什么: 我们初步推测,这个程序应该是判断磁盘是否运行在一个CD-ROM上。 为了验证我们的推测,我们拖进OD看一下。...

2017-06-16 15:15:09

阅读数:697

评论数:0

逆向工程核心原理学习笔记(十一):栈

栈(stack)用途广泛,通常用于存储局部变量、传递函数参数,保存函数返回地址等。 调试程序需要不断查看栈内存,这是很有必要的。 栈是一种数据结构,按照后进先出的原则存储数据。 栈的特征: 一个进程中,...

2017-06-16 15:14:02

阅读数:370

评论数:0

逆向工程核心原理学习笔记(十):IA-32寄存器基本讲解

什么是CPU寄存器: 为什么要学习寄存器: IA-32寄存器: 基本程序运行寄存器: ...

2017-06-16 15:13:16

阅读数:226

评论数:0

逆向工程核心原理学习笔记(九):小端序标记法2

程序地址:http://t.cn/RXnT2pD 我们用OD查看小端序。 代码如下: 我们编译,然后拖进OD查看,直接跳到0x401000入口点。 我们看到几个位置: ...

2017-06-16 15:12:39

阅读数:358

评论数:2

逆向工程核心原理学习笔记(八):小端序标记法1

顶 0 踩

2017-06-16 15:11:35

阅读数:359

评论数:0

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