0X01应用程序黑客技术
前言
该文章主要是讲解了常见的应用程序黑客技术基本概念,包括消息钩取,API钩取,DLL注入,代码注入
天象独行
0X01;消息钩取
原理:在我们通过键盘,鼠标等输入信息过程中,Windows会通过钩链(HookChain)来处理这些信息。所谓的钩链本质上是一个列表,包含处理消息的一系列函数的指针列表。这么来看,所谓的消息钩取本质上是将恶意进程的指针注入到钩链当中。导致钩链在处理信息的过程中执行其他操作。比如:键盘记录器。
利用方法:文件user32.dll当中的SetWindowsHookExA()方法。
注释:
1;user32.dll是Windows用户界面相关应用程序接口,用于包括Windows处理,基本用户界面等特性,如创建窗口和发送消息。
2;钩子(Hook),是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。钩子机制允许应用程序截获处理window消息或特定事件。
0X02;API钩取
原理:在操作系统当中存在一个调试进程。他的作用是在程序特定的命令位置设定断点并且注册特定的方法。这个时候,当程序运行到断点位置是会执行之前注册的方法(回调)。那么,API钩取就是在回调方法中注入可以代码。
0X03;DLL注入
什么是DLL???
所谓的DLL即动态链接库,可以认为本质是一个共享的函数方法文件,以便不同程序来共享调用运行。
原理:利用特定的动态链接库DLL插入特定的应用程序。
常见DLL注入的方法有:
1;在注册表特定位置输入指定DLL名称,这个时候在应用程序调用user32.dll文件是,指定的DLL文件就会被加载内存当中。
2;利用钩取函数来DLL注入。
3;为运行中的应用程序创建远程线程以插入DLL。
注释:
https://www.cnblogs.com/chechen/p/8676226.html DLL动态链接库
0X04;代码注入
原理:为运行中的程序创建远程线程以插入恶意代码。
最新文章
- Ionic学习笔记三 Gulp在ionic中的使用
- getWinSystemIcon
- 20145212 《Java程序设计》第9周学习总结
- Linux snmp
- nyoj-71
- ZJOI2015 一试。
- Qt 自定义 滚动条 样式
- .net学习笔记----利用System.Drawing.Image类进行图片相关操作
- 1.0 基础、标示符、常量、数据类型(enum 枚举,struct 结构体)、操作符、循环、数组
- 再谈AbstractQueuedSynchronizer:基于AbstractQueuedSynchronizer的并发类实现
- Spring3.x企业应用开发实战-Spring+Hibernat架构分析
- android 权限库EasyPermissions
- winrar目录穿越漏洞
- spark2.1源码分析2:从SparkPi分析一个job的执行
- python object对象
- C51 头文件中的 extern
- Dubbo安装及其实战1
- maven 错误:读取 xxx.jar 时出错;invalid LOC header (bad signature) 1 错误
- The Properties of Posterior of Topic Model
- 忽略UserInterfaceState.xcuserstate
热门文章
- at org.apache.hadoop.hbase.tmpl.master.BackupMasterStatusTmplImpl.renderNoFlush(BackupMasterStatusTm
- sublime3使用技巧
- ELK节点安装
- IQueryable、IEnumberable 、IList与List区别
- Java内存模型(JMM)那些事
- Postman如何测试Webservice接口?
- Java Interview Questions Summary
- 一个汇编小demo
- lambda表达式在解决java后台分组排序时的应用
- Java JDK 1.5 1.6 1.7 新特性整理