存档

文章标签 ‘HOOK’

使用低级键盘钩子实现键盘改键

2011年10月24日 14 条评论

很垃圾的文章了,大牛们直接飘过吧。
为什么要实现改键?
前几天玩一个游戏,因为ASDW这几个键不能控制方向所以感觉很不方便,于是就想出了自己写一个全局键盘钩子来实现改键的程序;一般能自己解决的问题我都会自己想办法解决,所以也没有用网上先有的程序了。
怎么实现键盘改键?
装一个全局的低级键盘钩子(WH_KEYBOARD_LL),在键盘钩子回调函数(LowLevelKeyboardProc)中判断是不是目标按键,如果是则通过keybd_event来实现模拟按键,同时直接用return TRUE;来对[......]

继续阅读

分类: Windows SDK 标签: , ,

mov edi,edi和Hot Patching的一点解释

2011年7月13日 3 条评论

最近发现不少函数开头都有mov edi,edi这样的指令,正好在《Advanced Windows Debugging》一书中看到了一点解释。书上说是为了Hot Patching,网上也有这样的解释。
不过网上的解释有两种情况,一种是函数开头有mov edi, edi,再往前则是5个连续的nop的,就是用来Hot Patching的。而如果仅仅只是mov edi, edi,则是为了对齐设置的指令,和两个nop差不多,不过据说前者速度更快。MessageBoxA的情况如下:

7632EA68 [......]

继续阅读

分类: 逆向调试 标签: , ,

ISCC2011内核关-移形换影

2011年6月9日 没有评论

这是ISCC 2011 内核关的第三题-移形换影,可以通过SSDT HOOK来解决。主要是HOOK NtOpenFile和NtCreateFile这两个函数来实现。
题目描述:在同一个目录下有两个文件:111.txt和222.txt。你能不能写一个内核程序,当使用记事本打开111.txt时却显示222.txt的内容? 如果你知道系统服务描述表这个概念,just a piece of cake!(注意需要提交源代码)
提示信息:无
我的说明:SSDT HOOK是个老话题了,网上有很多的介绍,看雪论[......]

继续阅读

分类: CTF, Windows驱动开发 标签: , , ,

PE文件格式解析(四)——进程及模块显示

2011年4月17日 2 条评论

本文放在这个系列感觉有点不合适,不过在一般的PE编辑器都有这个功能,但是我写的只是简单的枚举模块,没有其他扩展功能。
到此,PE文件解析工具也基本完工了,要考试了,不打算继续拓展了。这些文章汇总地址如下:
第一篇——《神奇的栈溢出
第二篇——《PE文件格式解析(二)
第三篇——《PE文件格式解析(三)——导入表的解析
第四篇——《PE文件格式解析(四)——进程及模块显示
这里显示进程列表以及模块列表用到的API是CreateToolhelp32Snapshot、Process32Firs[......]

继续阅读

近来的学习

2011年3月4日 8 条评论

这几天开始研究SSDT相关的东西,内容比较多,又不是很好理解,花了好多时间。先是看SSDT,然后又看SSDT HOOK,而现在又是Inline Hook,然后还有Anti-Inline Hook,这些东西的学习主要都集中在看雪上面,其他地方也基本是转载看雪的,当然也有原创的。
如果成天都看这些实在是太枯燥了,于是又翻出了《Effective C++》看了看,复习一下以前的东西。
这个学期学校的课安排得很少,加上我不想考研,所有的时间基本都花在看书上了,反而是学校的课基本没看了。还是得先去买本教材[......]

继续阅读