突破NP屏蔽,实现按键模拟!
http://xinxing124.blog.163.com/blog/static/3017019520113583035830/
nProtect GameGuard、XTRAP是两款比较著名的防作弊软件,在玩家使用外挂(无论任何游戏的外挂,就算不是当前游戏的外挂也不可以)的时候
会提示"检测到游戏被破解修改"并强行关闭游戏。
什么是nProtect?
nProtect是设计用于保护个人电脑终端不被病毒和黑客程序感染的新概念的基于网络的反黑客和反病毒的工具。他帮助确保所有输入个人电脑
终端的信息在网络上不落入黑客手中。在最终用户在执行电子贸易时,可以通过将nProtect配置在那些提供电子商务、进口贸易,电子贸易的
金融机构的网站上,来提高安全等级。
nProtect怎样工作?
nProtect是一种基于服务器端的解决方案并且当那些需要保护的任何网络应用被运行时而自动启动。nProtect被载入内存,所以最终用户不需
要安装任何应用程序,只要nProtect启动,就开始拒绝黑客工具和病毒的入侵!
nProtect如何工作?
用户登陆时nProtect自动启动。
浏览器确认和自动安装安全模块到用户的个人电脑。
扫描黑客工具和病毒
通知用户目前的安全状态
如果有黑客工具和病毒尝试删除
在被入侵时端驻留内存来锁定黑客工具直到电脑或者nProtect关闭。
nProtect 的主要功能介绍:
实时侦测并封锁修改游戏之黑客程序。
实时侦测并封锁各类型系统病毒。
实时侦测并封锁加速程序。
实时侦测并封锁自动鼠标(连点)程序。
封锁不当外挂程序。
封锁各种意图远程控制玩家个人计算机的动作。
限制意图侧录键盘鼠标动作的恶性程序。
限制可疑间谍程序,加强安全性。
使用此软件的网络游戏有很多,比如:冒险岛、蒸汽幻想、惊天动地、神话等等。
这篇文章只讲如何突破NP对按键类的封锁。
NP对按键的封锁方式主要有3种:
1、封系统API函数,按键模拟类的API函数有KeyBoard_Event(键盘模拟)、Mouse_Event(鼠标模拟)、SetCursor(模拟鼠标移动)、SendInput()
、SendMessage(发送消息)PutMessage(发送消息)。这种封API函数的方法在NP早期被应用,主要手段是通过钩子函数修改API的CALL地址。但这
种手段很快被人破解,破解方法有2种,1种方法是移植这些API函数的代码(具体移植方法请见相关的专业资料)我曾用这方法,把整个
kernel32.dll系统库文件更名复制,然后调用该库的API,从而绕过NP;第2种方法是使用WINIO.SYS驱动,硬件模拟按键动作(此驱动只支持
8042端口,即只能模拟PS2键盘鼠标动作)。
2、鉴于上面原因,NP不再封系统API,而是封按键模拟相关的内核API。移植系统API来模拟按键就不能实现了,因为移植的系统API最终要调用
内核API。这样留给我们的工作只能是通过驱动硬件来模拟按键动作了。
3、网上流行的硬件模拟是通过对8042端口驱动来实现的,这种操作端口来实现硬件模拟的方法必须要在系统RING0层才能进行。所以,这类操
作都必须通过驱动或中断程序来实现。目前网络上流行的端口操作驱动程序有2种:WINIO.SYS及PortTalk.SYS,WINIO.SYS操作端口效率较高。
它们的主要缺陷是只能模拟PS2的键盘、鼠标,当键盘或鼠标是USB的,或者频繁模拟鼠标时就会出现卡死现象。但这类操作端口的模拟也没长
久,NP也把这类模拟给封了。封的办法很简单,这2个驱动特征太明显了:WINIO把端口操作从RING0层暴露给RING3层,这样的暴露给系统安全
带来隐患,所以有的杀毒软件会对WINIO进行查杀!NP封这种具有典型特征驱动程序易如反掌;PortTalk是用户级驱动程序,可以通过调用
DeviceIoControl函数来操作端口,但正因是用户级驱动,其发出IRP在下传时容易被NP截获屏蔽。这样NP给我们剩下的操作空间就不多了:1、
改写或移植内核API,这种方法因系统及版本不同实现起来相当困难,极容易造成机器死机。2、虚拟一个设备,通过该设备驱动程序来操作端
口,最好是将其设备虚拟成键盘和鼠标设备。这种方法可行,因为NP难以实现封设备驱动(封错了机器就死机了)。但这方法也有缺陷,驱动
程序需要安装,安装弹出微软的认证签名窗口(未经签名存在安全问题),这对许多用户来说是难以接受的。
以上几种反NP屏蔽按键的方法我在写“按键游侠”(下载地址论坛地址:)各版
本时都用过。随着NP的升级,按键游侠反NP的措施也在升级,从最初的API拦截,到现在的虚拟设备驱动、移植内核API。按键游侠始终能突破
NP屏蔽,模拟按键动作。在对NP的较量中,我从本站中找到许多有关NP的资料,在此一并感谢哪些无私的提供最前端资料的高手。同时也感谢
哪些提供USB技术朋友,让按键游侠能够硬件模拟USB键盘、鼠标!
相关资料:按键游侠 WINIO.SYS PortTalk.SYS NP KeyBoard_Event Mouse_Event SetCursor SendInput SendMessage PutMessage USB 驱动签
名 DeviceIoControl 钩子函数 需要了解这些知识的朋友可以按这些资料在百度湖GOOGLE上查找。
转载于:https://www.cnblogs.com/davidwang456/articles/8708464.html
突破NP屏蔽,实现按键模拟!相关推荐
- java屏蔽功能键_Java屏蔽Windows按键代码
用java 能实现这功能吗,iHookKeyboard (屏蔽键盘...,想用java 实现. 不行的,JAVA没有钩子,可以考虑通过JNI调用C. 如何用JAVA做禁用键盘,鼠标,任务管理器等任人都 ...
- Android4.3 屏蔽HOME按键返回桌面详解(源码环境下)
点击打开链接 首先声明我是做系统开发的(高通平台),所以下面介绍的方法并不适合应用开发者. 最经有个需求要屏蔽HOME按键返回桌面并且实现自己的功能,发现以前的方式报错用不了,上网搜索了一下,发现都是 ...
- Qt:Qt使用鼠标模拟函数mouse_event和按键模拟函数keybd_even实现网页刷新功能
用Qt实现网页刷新功能 前言 在上一篇博客Qt:使用Qt实现网页自动刷新工具,使用了PostMassage函数 通过Windows的消息机制实现的网页刷新功能.因为消息种类太多,不方便使用和记忆,所以 ...
- App自动化界面操作_按键模拟(模拟键盘信号)、driver.keyevent(keycode)
查询Keycode:百度搜索 安卓keycode https://blog.csdn.net/midux/article/details/80064054 Android KEYCODE键值对应大全 ...
- Dialog屏蔽Esc按键
Dialog打开后,默认按下Esc按键会关闭Dialog,有时候业务需要屏蔽此按键监听,方法如下: 1.创建监听 public class DialogEscTraverseListener impl ...
- Android 10 系统屏蔽底部按键 禁止锁屏 禁用横屏
一.屏蔽底部按键 1,先说状态栏 状态栏其实就是SystemUI.apk,源码目录是android/frameworks/base/packages/SystemUI/,但是状态栏的隐藏并不是修改Sy ...
- 小米等安卓手机屏蔽实体按键和虚拟按键
小米手机屏蔽和开启实体按键和虚拟按键 屏蔽实体按键的方法 第一步:同样使用RE文件管理器修改系统状态为读写 第二步:进入system/usr/keylayout目录下 第三步:选择synaptics_ ...
- T155基于51单片机手机按键模拟拨号Proteus设计、keil程序、c语言、源码
资料下载请点击:51mcu.top 使用51单片机设计一个模拟手机拨号的Proteus设计: 1.使用3*4矩阵按键模拟手机按键作为输入: 2.通过LCD1602显示输入的按键数值;
- 2017.9.15 android 屏蔽home按键
android 屏蔽home按键 高通8937 1.WindowManager.java里面添加: public static final int PRIVATE_FLAG_HOMEKEY_DI ...
最新文章
- UBuntu14.04下安装和卸载Qt5.3.1
- Golang gorouting 并发控制 sync.WaitGroup 介绍与使用
- 流媒体技术学习笔记之(九)减少VLC 延迟的方法
- uefi和legacy的区别
- phpcms v9的url优化
- 这三位同学的名字绝了!笑得肚子疼......
- CCNA笔记-各种路由器的接口
- Android Images
- 计算机专业英语 侯进,06年的录取名单,谁知道麻烦发到这里,谢谢啦!!!
- 图解HTTP协议笔记
- 工业控制系统发展历程
- inode客户端 linux,Ubuntu 11.10 H3C iNode 客户端下载及安装图解
- 华为云OBS Requests specifying Server Side Encryption with KMS managed keys require Signature Version 4.
- 计算机综合布线课程,综合布线工程课程教与学(教学大纲)
- 【浅墨著作】《OpenCV3编程入门》内容简介勘误配套源代码下载
- 解决Untracked Files Prevent Checkout问题
- 离散数学——命题逻辑
- 构建共线矩阵的两种惊艳操作
- 2015年移动Web/HybridApp开发技能列表
- c语言设计由数组,C语言程序设计_07数组.ppt
热门文章
- outlook邮箱显示一直启动中_Outlook 2016 无法正常启动,显示“正在处理” 然而处理了好几天也没有处理完...
- python最大堆_用Python实现最大堆
- 参数无效_Shell 脚本启动如何传递参数
- python爬取有道词典_利用Python3和Charles爬取有道词典,生成翻译exe单文件
- CircleList
- DynamicList
- android 控件监听方法,Android界面控件(2)—注册点击事件监听器
- 运行caffe自带的mnist实例教程
- c++ 类中静态变量 static
- python zip