Atitit.远程接口 监控与木马 常用的api 标准化v2 q216
Atitit.远程接口 监控与木马 常用的api 标准化v2 q216
1.11.1. JDK1.6及之前版本: 基于Timer实现2
1.11.2. JDK 1.7 及之后版本:基于WatchService实现3
1. 木马与远程接口 监控的常用的api
1.1. 文件复制
1.2. 屏幕定时截图
1.3. 邮件发送
1.4. 键盘监听
作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙, EMAIL:1466519819@qq.com
转载请注明来源: http://www.cnblogs.com/attilax/
1.5. 远程上传代码与执行
1.6. 注册系统服务
1.7. 远程shell console
1.8. 、修改注册表
1.9. Eval功能
1.10. 控制鼠标键盘gui接口功能
1.11. 文档 图片文件读写监控
1.11.1. JDK1.6及之前版本: 基于Timer实现
通过实现FileChangeObserver接口,该FileMonitor允许对任意文件添加任意多个Observer
通过比对时间戳来判断文件是否修改,若发生改动,则通知其Observer进行相应处理。
常用doc pic文件内容扫描
1.11.2. JDK 1.7 及之后版本:基于WatchService实现
Watch Service API可用于将指定目录注册到监视服务上。注册时须指定事件类型,如文件创建、修改、删除等。相关类图如下:

WatchService是监视服务接口,在不同系统上有不同的实现类。实现了Watchable接口的对象方可注册监视服务,java.nio.file.Path实现了此接口。WatchKey表示Watchable对象和WatchService的关联关系,在注册时被创建。注册完成后,WatchKey将被置为'ready'状态,直到下列三种情况之一发生:
1. WatchKey.cancel()被调用
2. 被监控的目录不存在或不可访问
3. WatchService对象被关闭
当文件改动发生时,WatchKey的状态将会被置为"signaled"然后被放入待处理队列中。WatchService提供了三种从队列中获取WatchKeys的方式:
1. poll - 返回队列中的一个key。如果没有可用的key,将立即返回null。
2. poll(long, TimeUnit) - 如果队列中存在可用的key则将之返回,否则在参数预置的时间内等待可用的key。TimeUnit用来指定前一个参数表示的时间是纳秒、毫秒或是其他的时间单位。
例子:final WatchKey watchKey = watchService.poll(1, TimeUnit.MINUTES);将会等待1分钟
3. take - 方法将会等待直到可用的key被返回。
获取WatchKey后进行处理:
1. 通过WatchKey.pollEvents()函数得到WatchEvents列表。
2. 对于每一个WatchEvent,可以通过kind()函数获得其改动类型。
3. 通过WatchEvent.context()函数得到发生该事件的文件名
4. 当该key的所有事件处理完成后,需要调用WatchKey.reset()方法把该key重置为ready状态。若不重置,该key将无法接收后续的改动。若reset返回false,表示该WatchKey不再合法,主循环可以退出。
总结,使用WatchService步骤如下:
1. 创建WatchService
2. 得到待检测目录的Path
3. 将目录登记到变化监测名单中
4. 执行WatchService的take()方法,直到WatchKey到来。
5. 得到WatchKey后遍历WatchEvent进行检测
6. 重置key准备下一个事件,继续等待
大多数文件系统实现包含了文件更改通知的本地支持,Watch Service API正是利用了文件系统的这种机制。若文件系统并不支持变更通知机制,Watch Service仍然会轮询文件系统,等待事件产生。
1.11.3. C# asp 。net的的文件更改监视
。。。Like java ..use os support api
2. 参考
Java文件变更监控的两种实现 - Stay hungry, stay foolish. - ITeye技术网站.htm
Atitit.远程接口 监控与木马 常用的api 标准化v2 q216的更多相关文章
- Atitit 通用接口的设计与实现attilax 总结
Atitit 通用接口的设计与实现attilax 总结 1.1. 现存的情况1 1.2. 接口返回类型,与返回序列化格式1 1.3. 异常传递 代替返回值模式1 1.4. 通用接口原理1 1.5. A ...
- RMI(远程接口调用)
1. RMI的原理: RMI系统结构,在客户端和服务器端都有几层结构. 方法调用从客户对象经占位程序(Stub).远程引用层(Remote Reference Layer)和传输层(Transport ...
- C#winForm调用WebService的远程接口
Web Service 的创建简单编码.发布和部署 上一篇详细概述了WebService的创建,编码,发布和部署,那么作为客户端的程序如何访问远程端的WebService 接下来看一下具体步骤: ...
- discuz云平台报调用远程接口失败的问题分析和解决
根据网络两篇文章整理 问题描述:当开通或关闭某个云平台服务的时候,报如下错误信息:调用远程接口失败.请检查您的服务器是否处于内网以及您服务器的防火墙设置. 云平台测试站点的接口文件正常,于是开始在文件 ...
- Android系统进程间通信(IPC)机制Binder中的Client获得Server远程接口过程源代码分析
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6633311 在上一篇文章中,我 们分析了And ...
- Python远程视频监控
Python远程视频监控程序 老板由于事务繁忙无法经常亲临教研室,于是让我搞个监控系统,让他在办公室就能看到教研室来了多少人.o(>﹏<)o||| 最初我的想法是直接去网上下个软件,可 ...
- SmartRoute之远程接口调用和负载
基于接口的调用远比基于基础消息交互来得更简单和便于维护,特别在业务展现上,接口作为业务表现更适合其便利性.为了让SmartRoute更适合业务应用集成,在新的一年开始SmartRoute集成了远程接口 ...
- 基于邮件系统的远程实时监控系统的实现 Python版
人生苦短,我用Python~ 界内的Python宣传标语,对Python而言,这是种标榜,实际上,Python确实是当下最好用的开发语言之一. 在相继学习了C++/C#/Java之后,接触Python ...
- JMC监控(Windows上远程连接监控Linux服务器的JVM)
Windows上远程连接监控Linux服务器的JVM:1.Linux服务器上配置:在Tomcat的tomcat-wms/bin/catalina.sh中添加CATALINA_OPTS="-X ...
随机推荐
- js-限制参与活动的范围(微信H5活动)
近期接到大连某个项目,一个H5的活动,其中有一个需求就是:这个活动的参与者仅限大连地区的用户 所以参考了微信API 得出的操作结果为: wx.ready(function() { wx.getLoca ...
- RMQ ---- ST(Sparse Table)算法
[概述] RMQ(Range Minimum/Maximum Query),即区间最值查询,是指这样一个问题:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j<=n),返 ...
- "library not found for - "解决办法
在我们编译的时候有时候会报这个错误 "library not found for - " 由于是我们在项目中使用了一些第三方的库,就比如我再使用百度的静态库文件的时候,报出的这个错 ...
- C语言基础之函数
1.什么情况下定义函数: 添加一个常用的新功能 2.函数的定义格式 返回值类型 函数名(形式参数列表) { 函数体 } 3.定义函数需要明确的东西 1> 起一个有意义的函数名 2> 函数 ...
- Android 更新UI的两种方法——handler和runOnUiThread()
今天看到了一个runOnUiThread()方法用来更新UI,觉得很神奇!! 方法一:handler机制不说了. 方法二:利用Activity.runOnUiThread(Runnable)把更新ui ...
- MS SQL数据批量备份还原(适用于MS SQL 2005+)
原文:MS SQL数据批量备份还原(适用于MS SQL 2005+) 我们知道通过Sql代理,可以实现数据库的定时备份功能:当数据库里的数据库很多时,备份一个数据库需要建立对应的定时作业,相对来说比较 ...
- ubifs笔记
第1章 UBIFS UBIFS不是工作在块在设备之上,所以UBIFS不能用于MMC之类的设备. 与传统的flash文件不同,UBIFS不是工作是块设备之上.传统的flash文件系统(如Jffs2)工作 ...
- 模拟Spring中的getBean方法
一直知道Spring是运用反射技术的,但具体怎么用呢?今天就模拟下getBean方法. 步骤: 1.用Dom4j解析xml配置文件,取出我们需要的信息 2.遍历Bean节点,根据每个Bean节点的cl ...
- Unity3d UGUI 界面适配 实例解析 三种适配方式
之前做游戏都是用公司自己的引擎,对于界面的适配分Android和IOS两种系统处理. 对于IOS设备,由于数量有限,只要做到 960x640 1024x769 1136x640 (当时还没有ipho ...
- Android如何缓存你的BITMAP对象
在app中通常最占内存.占流量的元素就是图片了,图片往往又无处不在,特别是伴随着list,GridView或者ViewPager出现,这些图片随着你的滑动操作,时而出现在你的屏幕中,时而消失在屏幕之外 ...