error at hooking api ntprotect_read,match and write

error at hooking api ntprotect_read,match and write 编译环境:delphi2010+windows7u,用途读取其他程序中readprocessmemory和writeprocessmemory的参数,但不知读取偏移即a+($b),b是怎么读的  一、用hook全局钩子线程钩子:已实现使用INLINEhookapi,CriticalSection临界区,dll分为动态loadlibry和静态加载问题1:对多线程目标

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

 编译环境:delphi 2010+windows 7 u ,用途读取其他程序中readprocessmemory和writeprocessmemory的参数,但不知读取偏移即a+($b),b是怎么读的

 

 一 、用hook全局钩子 线程钩子:已实现 使用INLINE hookapi,CriticalSection临界区,dll分为动态loadlibry和静态加载

问题1:对多线程目标程序HOOK 卸载时会出现错误,应该是线程不断读写内存函数READPROCESSMEMORY,但钩子正在卸载没有改回正确的地址就被目标程序读取,导致目标程序处理错误的API地址而出错,如果不是不停读写 卸载不会出现错误?不知是不是

问题2:使用INLINE HOOK目标程序多线程读取内存,程序在卸载钩子时有时会出错,可能跟问题一 一样。使用CreateRemoteThread远程注入是否会有此问题,应该没有吧!

问题3:自己的替代函数中使用记录日志可能不响应,为什么?

问题4:使用临界区后没出现EXPLORER的问题,也可能是逻辑代码问题,有待研究。

 

 

备注:

windows核心编程中的 IAT Hook 是否存在线程问题??

1 : Hook LoadLibrary*后, 若两线程同时调用LoadLibrary, 可能同时修改同一个模块的IAT表, 可能存在访问冲突(此问题可以用临界区解决)
2 : Hook LoadLibrary*后, 他对本进程所有模块的的IAT表都进行修改(使用WriteProcessMemory), 某线程可能此时访问正在被修改中的IAT表, 可能call 到其它地址去。(若真存在多线程问题, 此问题就有点麻烦)。似乎是说多线程下同时写入读写东西时,还没修复回IAI就被其他线程调用,程序会出错。

2009-10-0515:14:29

hook api

源码在此 !

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/194475.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • WinSCP连接Ubuntu被拒绝

    WinSCP连接Ubuntu被拒绝(如果是为了向虚拟机传输文件就要将用户名改为root)打开终端并登录root1.首先确认是否输入正确的主机名:输入ifconfig得到主机名2.Ubuntu默认root是关闭的,最好重新设置一遍密码:passwdroot就能开启root3.关闭防火墙:ufwdisable4.安装openssh-server:apt-getinstallopenssh-server5.检查sshd是否启动:ps-e|grepssh看到sshd说明启动成功6.使root允

    2022年9月17日
    0
  • Hadoop生态圈hive应用

    Hadoop生态圈hive应用第1章Hive基本概念1.1什么是HiveHive:由Facebook开源用于解决海量结构化日志的数据统计。Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能。1.2Hive的优缺点1.2.1优点1)操作接口采用类SQL语法,提供快速开发的能力(简单、容易上手)。2)避免了去写MapReduce,减少开发人员的学习成本。3)Hive的执行延迟比较高,因此Hive常用于数

    2022年5月11日
    42
  • 监控流媒体服务器的搭建和使用_rtmp推流服务器

    监控流媒体服务器的搭建和使用_rtmp推流服务器当我们从网络摄像头上接收视频时,首先要了解协议(RTSP/RTMP/HTTP),然后是解码格式(MKV,RMVB),之后才是将视频(H264)和音频(AAC)格式数据分别解码为图像(RGB/YUV)和声音(PCM),再根据时间戳同步到流媒体平台(比如视频直播点播平台EasyDSS)播放。本文和大家讲一下视频流媒体服务器中RTMP和RTSP区别是什么?大家都知道我们研发的不同视频流媒体服务器是接入不同协议的,国标流媒体服务器接入GB28181协议,而视频直播点播流媒体服务器就是接入RTSP和RTMP协

    2022年10月20日
    0
  • 火炬之光模型导出(Unity载入火炬之光的模型)

    火炬之光模型导出(Unity载入火炬之光的模型)

    2021年11月13日
    42
  • 友善串口助手使用教程_友善串口调试助手怎么进行配置-友善串口调试助手使用教程…

    友善串口助手使用教程_友善串口调试助手怎么进行配置-友善串口调试助手使用教程…软件功能:友善串口调试助手(win7串口调试工具)是一个很好而小巧的串口调试助手,友善串口调试助手官方版支持二进制面板和TLS、支持终端窗口和远程访问,能够与串口进行通信,访问、修改串行端口,还能够自动识别、自动搜索串口。友善串口调试助手还可以用ASCII码或十六进制接收或发送任何数据或字符,也可以让用户任意设定自动发送周期,还能够把结束数据保存成文本文件,用户也可以通过友善串口调试助手发送任意大…

    2022年6月14日
    101
  • JavaScript 字符串截取方法汇总

    JavaScript 字符串截取方法汇总可以使用的方法及选择substring:最常见substr:不建议使用slice:最灵活JS新标准ECMAscript没有对substr进行标准化,因此不建议使用。slice比substring更灵活,允许使用负数做参数slice除了截取字符串,还可以截取数组参数和用法substring语法:stringObject.substring(start,stop)start,必需,非负整数,截取的开始位置stop,可选,非负整数,截取的字符串不包含该位置

    2022年6月13日
    28

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号