社区
进程/线程/DLL
帖子详情
关于DLL线程插入及消息HOOK的问题?
TT6100
2006-03-13 09:18:45
本人写了一个Dll线程插入的程序,可以成功插入到explorer.exe进程中,同时在该inject dll中再调用hook的dll,将键盘勾子安装到系统上。但是键盘hook不启作用?不知何原因?以下两个dll单独使用时均正常,而且在合在一起时,经调试hook的dll里面的HOOK确实也加载了,但时确截不到键盘消息?
请高手指点。
谢了。
...全文
95
1
打赏
收藏
关于DLL线程插入及消息HOOK的问题?
本人写了一个Dll线程插入的程序,可以成功插入到explorer.exe进程中,同时在该inject dll中再调用hook的dll,将键盘勾子安装到系统上。但是键盘hook不启作用?不知何原因?以下两个dll单独使用时均正常,而且在合在一起时,经调试hook的dll里面的HOOK确实也加载了,但时确截不到键盘消息? 请高手指点。 谢了。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
billy145533
2006-03-13
打赏
举报
回复
关注一下
Delphi
HOOK
插入
线程
的方法演示.rar
Delphi利用
HOOK
插入
线程
,程序在初运行时,需要调用
Hook
DLL
\Insert.
dll
文件,在代码中防止同时进行
插入
,保证只插一个
线程
,同时定义内存映射文件,程序编译后运行可能会被拦截,请先关掉防护软件。
Delphi-Win.rar_DELPHI 定时按键_delphi w_keyboard delphi_定时器
线程
_屏幕键盘
其中包含了 《Windows程序设计》PASCAL例子 《Windows高级编程指南》PASCAL例子 《Windows核心编程》PASCAL例子 ShellExecute
Hook
示例 按键转汉字,模拟输入法程序 初步实现屏幕落雪效果 简单的文件分割合并工具 简单模拟所谓‘光标跟随’效果 利用
Hook
插入
线程
的改进版本 利用窗口过程钩子截获QQ账号 利用鼠标键盘钩子截获QQ账号 利用
消息
钩子屏蔽定时器 列举窗口及其路径简单例子 判断用户目前是否在操作电脑 区分大小写的按键记录器2个 使用系统提供的进度条控件 预览式文件选择对话框 只需一个
DLL
的三级跳
游戏逆向安全之
HOOK
变态功能实现
游戏逆向安全之
HOOK
变态功能实现
window内核监控工具源代码
一:SSDT表的
hook
检测和恢复 ~!~~~ 二:IDT表的
hook
检测和恢复 ~~~~~~(idt多处理器的恢复没处理,自己机器是单核的,没得搞,不过多核的列举可以) 三:系统加载驱动模块的检测 通过使用一个全局hash表(以DRIVEROBJECT为对象)来使用以下的方法来存储得到的结果,最终显示出来 1.常规的ZwQuerySystemInformation来列举 2通过打开驱动对象目录来列举 3搜索内核空间匹配驱动的特征来列举(这个功能里面我自己的主机一运行就死机,别的机器都没事,手动设置热键来蓝屏都不行,没dump没法分析,哎,郁闷) 4从本驱动的Modulelist开始遍历来列举驱动 四:进程的列举和进程所加载的
dll
检测 采用以下方法来列举进程: 1ZwQuerySystemInformation参数SystemProcessesAndThreadsInformation来枚举 2进程EPROCESS 结构的Activelist遍历来枚举 3通过解析句柄表来枚举进程 4通过Handletablelisthead枚举进程 5进程创建时都会向csrss来注册,从这个进程里面句柄表来枚举进程 6通过自身进程的HANDLETABLE来枚举进程 7通过EPROCESS的SessionProcessLinks来枚举进程 8通过EPROCESS ---VM---WorkingSetExpansionLinks获取进程 9暴力搜索内存MmSystemRangeStart以上查找PROCESS对象 进程操作: 进程的唤醒和暂停通过获取PsSuspendProcess和PsResumeProcess来操作的 进程结束通过进程空间清0和
插入
apc。 采用以下方法查找
DLL
: 1遍历VAD来查找
dll
2挂靠到对应的进程查找InLoadOrderLinks来枚举
dll
3暴力搜索对应进程空间查找pe特征来枚举
dll
DLL
的操作:
Dll
的卸载是通过MmUnmapViewOfSection和MmmapViewOfSection(从sdt表中相应函数搜索到的)来实现的(本来想直接清0
dll
空间,有时行有时不行)(只要将这个进程的nt
dll
卸载了,进程就结束了,一个好的杀进程的办法撒,绿色环保无污染),注入
dll
使用的是
插入
apc实现的。(注入的
dll
必须是realse版的。Debug版会出现***错误,全局
dll
注入貌似也是)
插入
apc效果不是很好,要有
线程
有告警状态才执行。 五:
线程
信息的检测 遍历ThreadList来枚举
线程
线程
的暂停和唤醒都是通过反汇编获取PsResumeThread和PsSuspendThread直接从r3传来ETHREAD来操作的,通过
插入
APC来结束
线程
六:shadow sdt表的
hook
检测与恢复 没有采用pdb来解决函数名
问题
,直接写入xp和03的shandow表函数名(主要是自己的网不稳定,连windbg有时都连不上微软) 七:系统所有的过滤驱动的检测 查看各device下是否挂接有驱动之类的,可直接卸载 八:系统常用回调历程的检测和清除 只检查了PsSetLoadImageNotifyRoutine PsSetCreateThreadNotifyRoutine PsSetCreateProcessNotifyRoutine CmRegisterCallback这几个,至于那个什么shutdown回调不知道是啥玩意,就没搞了,有知道的顺便告诉我下撒,谢谢 九:文件系统fat和ntfs的分发函数检测 直接反汇编fat和ntfs的DriverEntry得到对应的填充分发的偏移,然后和当前已经运行的文件系统的分发相比是否被
hook
,并附带恢复 十:文件查看功能 自己解析ntfs和fat的结构,来实现列举文件和直接写磁盘删除。附带有普通的删除和发生IRP来删除。不过这里面有点
问题
,ntfs删除有时把目录给搞坏了,大家凑合着吧, Ntfs网上删除这些操作的代码不多,就是sudami大大的利用ntfs-3g来实现的,看了下,太多了,充满了结构。然后自己对照着系统删除文件时目录的变化来自己实现的。只处理了$BITMAP对应的位清除,父目录的对应文件的索引项的覆盖,删除文件对应的filerecord清0. 另外偷懒时间都没处理,呵呵,y的,一个破时间都都搞好几个字节移来移去的。 十一:常用内核模块钩子的检测和恢复 这里只检测了主要的内核模块nkrnlpa**.exe的.win32k.sys,hal.
dll
,比对它们的原始文件从而查找eat inline
hook
,iat
hook
,和inline
hook
。Inline是从TEXT段开始一段位置开始比较的。(有点慢貌似,等待显示扫描完成就好了) 十二:应用层进程所加载
dll
的钩子 应用层钩子检测和内核模块钩子检测原理一样,不过为了能读写别的进程的空间,并没有使用openprocess去打开进程,而是通过KiattachProcess挂靠到当前进程,然后通过在r0直接读写进程空间的。
病毒攻杀编程技术资料!
!病毒攻杀编程技术资料!.rar [ActiveProcessLinks] [DKOM保护进程] [DKOM进程保护] [DKOM隐藏进程] [
DLL
注入] [FcOpenProcess] [FlowerBellGetProcess] [FTP上传下载文件] [NtQueryDirectoryFile枚举文件和文件夹] [NtSysDbgCtrl查看进程模块] [PE导出输入表演示(文件影射版)] [PE导出输入表演示(读文件版)] [PE导出输入表演示(进程版)收藏] [Ping指令类模块] [Ring0删除文件] [Ring3 Inline
Hook
NtTerminateProcess] [Ring3 Inline
Hook
Scan] [RUN
DLL
32使用方法] [Shadow SSDT] [SSTD] [VB中基于TCPIP协议的点对点文件传输代码] [Windows Script Host] [下载文件] [二进制文件读写] [从内存启动程序(可能导致蓝屏)] [使用别的程序终止进程] [修改内核数据] [修改文件时间] [修改程序图标] [修改键盘按键] [关于注册表的API] [关闭进程窗口] [内存填中断杀进程] [内存填零杀进程] [创建SYSTEM用户进程] [动态API(绕过 三环钩子)] [双进程保护] [双进程保护2] [发送按键] [发送邮件] [取得系统语言] [取得进程] [变相执行EXE] [可以利用的程序(进程保护+中止进程)] [向DOS窗口发送文字] [启动暂停系统服务] [处理Ctrl+Alt+Del系统热键] [多
线程
执行] [大文件MD5验证] [完整病毒(内含驱动杀进程)] [完整的API钩子] [屏蔽 NT 系统的下所有按键
消息
] [常规方式枚举进程(PSAPI)] [延时(低CPU占用)] [建立和删除用户] [强制文件夹重命名] [得到EXE图标] [得到本机IP地址] [得到进程命令行] [得到进程父ID] [得到进程的模块] [得到进程的
线程
] [快速更改分辨率程序] [快速格式化] [快速蓝屏] [恢复Inline-
Hook
(Only XP SP2)] [挂起进程] [控制远程计算机] [控制鼠标] [数字签名验证] [文件占坑防止删除] [文件捆绑] [文件校验] [映像劫持] [枚举
消息
钩子] [枚举
线程
] [枚举进程(PID+EPROCESS)] [枚举进程的
线程
(TID+ETHREAD)] [查找窗口并设置标题(
消息
炸弹)] [检查网络连接] [检测U盘
插入
+自动复制指定文件] [检测内核模块] [炉子的进程管理器] [用外部的VB代码控制内部程序] [病
进程/线程/DLL
15,471
社区成员
49,182
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章