下载此文档

陷阱式APIHook的原理及其在截取串口数据中的应用.ppt


文档分类:通信/电子 | 页数:约18页 举报非法文档有奖
1/18
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/18 下载此文档
文档列表 文档介绍
基本原理and在截取串口数据中的应用ygm5169@****利用APIHook技术将我们的程序代码注入其他进程修改系统中的ReadFile、WriteFile、CreateFile和CloseHandle函数**1、Windows为了保护进程而不允许进程之间的访问。2、使用APIHook给目标进程设置一个特定消息Hook,在发生这种消息的时候就会自动调用Hook函数。3、Hook函数只能存在与DLL中,因为只有DLL可以“大家一起用”。4、当Hook函数被调用时,它所在的DLL也一起映射进入了目标进程。5、如果我们在DLL中修改了某些系统API,系统就会自动的调用我们自己定义的API,实现既定的功能。**WinAPIWINMAIN(…){…SetDIPSHook…}SetDIPSHook{SetWindowsHookEx(…)}……CallReadFile;……GetMsgProc(){}(寄生程序)()注射进目标进程NewReadFile(){}SetDIPSHook{SetWindowsHookEx(…)}GetMsgProc(){}NewReadFile(){}ReadFile(){……}目标进程载入dll时,dll就已经成为其一部分了45思考:能直接跳转吗?控制进程截获的数据放在这里能够被任何进程访问**只要两个函数的参数一样,即堆栈结构一样,就可以相互代替jmpNewReadFileReadFile函数的修改和使用修改ReadFile将ReadFile的第一条指令修改为jmp&NewReadFile使用ReadFile将要写入文件的数据进行修改将ReadFile的第一条指令还原调用ReadFile完成其功能将ReadFile的第一条指令修改为jmp指令**……CallReadFile……NewReadFile(){还原ReadFile调用ReadFile修改ReadFileret}ReadFile(){……ret}调用自定义函数被劫持函数**……CallReadFile……NewReadFile(){还原ReadFile调用ReadFile修改ReadFileret}ReadFile(){jmpNewReadFile……ret}调用自定义函数被劫持函数1234123456789截取串口数据,实际上就是利用上述原理修改系统的4个API:CreateFile、ReadFile、WriteFile和CloseHandle,利用NewCreateFile截获串口打开时的设备句柄,在NewReadFile和NewWriteFile中用串口设备句柄识别串口的读写操作并对其数据进行观察控制。****NewCreateFile(文件名){ 还原CreateFile; Handle=CreateFile(文件名); 修改CreateFile; if(文件名==“COM2”) Handle中}**NewWriteFile(文件句柄,数据){ if(Handle) 修改“数据” 还原WriteFile; WriteFile(文件句柄,数据); 修改WriteFile;}

陷阱式APIHook的原理及其在截取串口数据中的应用 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数18
  • 收藏数0 收藏
  • 顶次数0
  • 上传人sxlw2014
  • 文件大小1.55 MB
  • 时间2020-07-01