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;代码注入
原理:为运行中的程序创建远程线程以插入恶意代码。
0X01应用程序黑客技术的更多相关文章
- 【腾讯Bugly干货分享】iOS黑客技术大揭秘
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/5791da152168f2690e72daa4 “8小时内拼工作,8小时外拼成长 ...
- SQL 注入,永不过时的黑客技术
SQL 注入,永不过时的黑客技术 TalkTalk的信息泄漏事件导致约15万人的敏感信息被暴露,涉嫌造成这一事件的其中一名黑客使用的并不是很新的技术.事实上,该技术的「年纪」比这名15岁黑客还要大两岁 ...
- 微信小程序黑客马拉松即将开始,来做最酷的 Mini Program Creators!
微信小程序黑客马拉松正式启动 近日,小程序斩获一项世界级殊荣--作为一项全新的技术和应用创新,小程序首次获选世界互联网领先科技成果.目前小程序应用数量已超过 100 万,覆盖了 200 多个细分行业, ...
- 小程序容器技术,App热更新与敏捷开发新方案
作为追求代码洁癖的软件工程师,我们对"紧耦合"的技术实现可以说是深恶痛绝.要解决当前企业移动端App日益沉重.难以真正迭代.投入产出比低的问题,首先在技术架构上要实现真正的&quo ...
- Docker应用程序容器技术_转
转自:百度百科 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相 ...
- 好程序员技术分享html5和JavaScript的区别
好程序员技术分享html5和JavaScript的区别,HTML5广义上讲是前端开发学科的代名词,包含HTML5.CSS3及JavaScript三个重要的部分,是运行在浏览器上应用的统称.如PC端网站 ...
- 好程序员技术教程分享JavaScript运动框架
好程序员技术教程分享JavaScript运动框架,有需要的朋友可以参考下. JavaScript的运动,即让某元素的某些属性由一个值变到另一个值的过程.如让div的width属性由200px变到400 ...
- C# WinForm小程序(技术改变世界-cnblog)
WinForm小程序(技术改变世界-cnblog) 需求: 1.点击按钮 更新 当前时间 2.输入 身份证,必须身份证 排序(类似银行卡那样的空格),自动生成空格排序 3.实现 必须按 第一个按 ...
- iOS黑客技术相关
在黑客的世界里,没有坚不可破的防护系统,也没有无往不胜.所向披靡的入侵利器,有时候看似简单的问题,破解起来也许花上好几天.好几个月,有时候看似很 low 的工具往往能解决大问题:我们以实现微信自动抢红 ...
随机推荐
- AcWing 871. 约数之和
#include <iostream> #include <algorithm> #include <unordered_map> #include <vec ...
- Educational Codeforces Round 78 (Rated for Div. 2)D(并查集+SET)
连边的点用并查集检查是否有环,如果他们的fa是同一个点说明绕了一圈绕回去了.n个点一共能连n-1条边,如果小于n-1条边说明存在多个联通块. #define HAVE_STRUCT_TIMESPEC ...
- 1042B. Vitamins
Berland shop sells nn kinds of juices. Each juice has its price cici. Each juice includes some set o ...
- Linux shell tr 命令详解
该随笔摘自 https://www.jb51.net/article/103892.htm Linux shell tr 命令详解 1. 用途 tr,translate的简写,主要用于压缩重复字符,删 ...
- 哈希 Perl第六章
哈希元素赋值: $hash{$some_key} = ‘something' 访问整个哈希: %some_hash = (’a' , '0' , 'b' , '1' , 'c' , '3') @a ...
- oracle imp exp 导入导出
一.exp导出 exp myuser/mypwd@orcl file=D:\sql-bak\myuser.dmp log=D:\sql-bak\myuser.log exp 用户/密码@实例名 fil ...
- .net core 通过代码创建数据库表
0.结构: 1.API using System; using System.Collections.Generic; using System.IO; using System.Linq; usin ...
- eclipse 自定义代码块设置(代码模板)
eclipse设置自定义代码模板 window -> show View -> other -> Templates 原来main模板 修改模板 再次插入
- js 根据data-i 降序排列
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 【MySQL】数据类型之数字相关
" 目录 #. 数值类型 1. 数值范围验证 /. 有符号 /. 无符号 2. int类型显示长度验证 #. 浮点型 1. 验证 /. 建表 /. 精度 #. 日期类型 1. 验证 /. y ...