在Windows软件中,绝大多数软件都是exe文件,然后有很多动态链接库dll构成。所以很多黑客就可以通过dll注入的形式入侵软件,达到入侵甚至盗取密码的功能,接下来本人介绍一种方法,可以防止非法dll注入的一种方法,学识有限,如有不足,敬请指教。

介绍的方法是通过hook系统的ldrLoadDll方法,然后判断dll的名称,防止恶意dll注入。

原理如下:

Inject Defense原理

BeginDefense:

1.定义一个BlackList 存放不允许载入的dll的集合

2.使用微软提供的第三方库Detour来获取windowsapi的地址

3.获取LdrLoadDll的地址 (LdrLoadDll即载入dll的函数:当有dll需要载入时,必须先调用LdrLoadDll方法)

4.使用DetourAttach函数去hook这个方法

5.在hook方法时候,判断进入的dll名称,如果dll名称与原先定的BlackList名称相同,则return none 即不让它执行WindowsAPI LdrLoadDll方法。 如果允许的话,则执行该方法。

Windows 软件安全---注入安全相关推荐

  1. Windows Dll注入与API HOOK

    DLL注入: 1.  使用注册表注入dll HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Windows\AppInit ...

  2. Windows输入法注入原理

    转载自油猴中文网:bbs.tampermonkey.net.cn 李恒道QQ4548212 油猴中文网bbs.tampermonkey.net.cn TamperMonkey GreaseMonkey ...

  3. windows扫雷注入(1s完成扫雷)

    在windows扫雷进程下利用远线程技术注入扫雷dll. 创建远线程程序如下,调用前启动扫雷并获取其进程ID: #include <stdio.h> #include <window ...

  4. windows十种注入方式

    进程注入是一种广泛应用于恶意软件和无文件攻击中的逃避技术,这需要在另一个进程的地址空间内运行自定义代码.进程注入提高了隐蔽性,一些技术也实现了持久性. 尽管有许多流程注入技术,在本博客中,我提供了十种 ...

  5. 权限提升——windows进程注入令牌窃取土豆BypassUACDLL文件劫持不带引号服务路径

    目录 (一)本地用户--进程迁移注入获取 0x01 高权限进程--Win2008之前版本

  6. Linux拜拜!微软给WSL加入GPU支持,Windows终于迎来命令行包管理工具

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 白交 发自 凹非寺  量子位 报道 | 公众号 QbitAI 看完昨晚微软Build大 ...

  7. 进程注入的研究与实现

    为了对内存中的某个进程进行操作,并且获得该进程地址空间里的数据,或者修改进程的私有数据结构,必须将自己的代码放在目标进程的地址空间里运行,这时就避免不了使用进程注入方法了. 进程注入的方法分类如下: ...

  8. Ring3下Dll注入方法整理汇总

    1.dll劫持,粗略整理了下,可以劫持的dll有(持续更新): lpk.dll.usp10.dll.msimg32.dll.midimap.dll.ksuser.dll.comres.dll.ddra ...

  9. redistemplate注入为null_Windows DLL 注入技术

    Windows DLL 注入技术 本文主要介绍四种常见的 Windows DLL 注入技术. 分别为全局钩子.远线程钩子.突破 SESSION 0 隔离的远线程注入和 APC 注入. 全局钩子注入 W ...

最新文章

  1. python收集网页中的翻页
  2. oracle 四分位函数,Oracle分析函数四——函数RANK,DENSE_RANK,FIRST,LAST…
  3. 物联网:从源头为生产环境安全把关
  4. 关于IE 对 $.get 缓存的记录
  5. 学完计组后,我马上在「我的世界」造了台显示器,你敢信?
  6. 去oracle过程,记一次Oracle数据恢复过程
  7. vue 数据劫持 响应式原理 Observer Dep Watcher
  8. L4Linux的版本比较
  9. eclipse 2018 安装html、jsp、JavaScript编辑器
  10. 名编辑电子杂志大师教程 | 如何调用外部本地文件?
  11. 勉励自己毕业前必须做到的几件事情
  12. 高端游戏计算机外形规格,【戴尔G5游戏笔记本电脑外观展示】接口|尺寸|键盘|触摸板_摘要频道_什么值得买...
  13. flowable报错FlowableTaskAlreadyClaimedException问题
  14. “整合”还是“混合”——多因子组合的构建
  15. uva 10118(DP)
  16. 利用pgzero做一个接球的小游戏
  17. java中short类型变量
  18. Multisim14.0 电路仿真 并显示各节点各支路的电压电流
  19. wps工资表怎么用计算机,wps表格中怎么把工资表变成工资条
  20. (转)Asterisk模拟线FXO的主叫号码识别(来电显示)

热门文章

  1. MySQL常用函数,你真得看看!
  2. Java多线程学习十九:JVM 对锁进行了哪些优化?
  3. mysql数据库数字类型_Mysql 数据库数值类型详解
  4. Quarter square 查找表乘法器,手动建立rom
  5. (转)对《javascript 杂谈之哪种写法你更喜欢?》最后一种“匿名函数法”的解释...
  6. Jquery ui的dialog使用文档概述
  7. 做个程序员身体调查,希望大家点一下!
  8. android+动画悬浮窗口,悬浮窗能实现自定Animation动画效果吗?
  9. access 如何使用dolby_用Access开发《生产管理系统》
  10. linux 重启服务器_linux入门-----6