冒险岛\maplestory冒险岛.exe不是有效的 Win32 应用程...

商业保护 【转帖】線上蒐集有關nProtect的文章
查看完整版本 : 商业保护
2006-12-08, 01:07:14
以下是線上蒐集有關nProtect的文章數量極少,希望對nProtect有研究的大蝦能多提供一點 THX
也許這些文章有部分也是看雪裡某位大蝦寫的吧
也希望對正在研究nProtect的朋友有點幫助 http://i62.photobucket.com/albums/h106/djpvd/biggrin.gif http://i62.photobucket.com/albums/h106/djpvd/biggrin.gif
==================================================================================================
什么是nProtect?
nProtect是设计用于保护个人电脑终端不被病毒和黑客程序感染的新概念的基于网络的反黑客和反病毒的工具。他帮助确保所有输入个人电脑终端的信息在网络上不落入黑客手中。
在最终用户在执行电子贸易时,可以通过将nProtect配置在那些提供电子商务、进口贸易,电子贸易的金融机构的网站上,来提高安全等级。
--------------------------------------------------------------------------------------------------
nProtect怎样工作?
nProtect是一种基于服务器端的解决方案并且当那些需要保护的任何网络应用被运行时而自动启动。nProtect被载入内存,所以最终用户不需
要***任何应用程序,只要nProtect启动,就开始拒绝黑客工具和病毒的入侵!
--------------------------------------------------------------------------------------------------
nProtect如何工作?
1. 用户登陆时nProtect自动启动。
2. 浏览器确认和自动***安全模块到用户的个人电脑。
3. 扫描黑客工具和病毒
4. 通知用户目前的安全状态
5. 如果有黑客工具和病毒尝试删除
6. 在被入侵时端驻留内存来锁定黑客工具直到电脑或者nProtect关闭。
--------------------------------------------------------------------------------------------------
使用此软件的网络游戏还有很多,比如:冒险岛国际服,信长野望online,希望online等等
再来谈谈新版本的冒险岛外挂问题:
目前在服务器上能屏蔽掉的一般都是高速战斗,即两次战斗的数据传输时间间隔少于游戏设定的最少时间(比如说最快的攻击是用小刀砍一下,假设这个时间是2 秒,而某ip长时间以1秒传送一次攻击指令(既含有攻击指令的封包),可以强制让此ip断线,但并不能做为封号的证据)高速采集原理也差不多,还有瞬移等。
什么是封包?客户端和服务器之间往来的数据就是封包
有学过计算机的因该都知道计算机网络被OSI参考模型分为7层:
第1层:物理层;传输单位是比特流,既bit
第2层:数据链路层;传输单位是帧,既frame
第3层:网络层;这一层传输的就是包了,既packet
第4层:传输层;传输单位是段,既segment
第5层:会话层;建立连接并保持连接畅通
第6层:表示层;将信息表示为一种格式,可以理解为就是格式转换
第7层:应用层。对软件提供接口以使程序能使用网络服务
数据在网络中传输不是一整大段的传输的,而是分成小块传输的,由于比较分散,所以封包。大家可以理解为搬家的时候把东西打成包好搬运
目前的外挂都是内嵌于游戏中,对游戏所接收和发送的封包进行截取,修改,重构建等。
话说回来,nProtect GameGuard的确很厉害,从冒险岛更新它又来到我的硬盘上以后,我的ZoneAlarm防火墙就开始报警了,说它要监视你的进程,并且欲访问网络,唉,没办法,为了玩冒险,只好放行咯。
试图访问internet
监视冒险岛进程
切出游戏后,你会发现右下角多了个这东西,翻译过来就是" Protect 游戏监视程序 版本624
至此,我想大家觉得冒险岛纯净时代再次来临了吧?
不过很可惜,***是否定的。
-----------------------------------------------------------------------------------------------------------------
截包工具:
http://free.ys168.com/?shoooo
WPRO.rar
MD5: 2E1E8E48FCC78972905E4F40081B608C
IRIS.rar
MD5: 6B919165C60D83379C1F825245100545
WPE 是通过注入dll的方式hook send, recv, WSASend, WSARecv等函数来截取封包, 如果进程有anti wpe , 有可能截不到数据包
Iris 是 iffer工具, 对网卡进行截包, 需要适当设置IP,port过滤条件, 不可能漏包
调试工具:
flyOdbg 1.1
http://download.winzheng.com/SoftView/SoftView_30342.htm
fly修改的ollydbg汉化第二版, 很棒的调试工具, 你能在 .pediy.com (看雪论坛)找到很多教程
分析工具:
IDA 4.8
http://www.crsky.com/soft/1604.html
16进制编辑工具:
UE 11.0
http://www.ultraedit.com/index.php?name=Download am d_op=getit&am lid=1
http:// .pediy.com/upload/2005/10/files/UltraEdit.v11.00.Keymaker.zip
--------------------------------------------------------------------------------------------------
游戏中看到的数据可都是十进制的,在要寻找并修改参数的值时,可以使用Windows提供的计算器来进行十进制和16进制的换算,我们可以在开始菜单里的程序组中的附件中找到它。
现在要了解的知识也差不多了!不过,有个问题在游戏修改中是需要注意的。在计算机中数据的储存方式一般是低位数储存在低位字节,高位数储存在高位字节。比如,十进制数41715转换为16进制的数为A2F3,但在计算机中这个数被存为F3A2。
--------------------------------------------------------------------------------------------------
WPE使用方法:执行WPE会有下列几项功能可选择:
SELECT GAME选择目前在记忆体中您想拦截的程式,您只需双击该程式名称即可。
TRACE追踪功能。用来追踪撷取程式送收的封包。WPE必须先完成点选欲追踪的程式名称,才可以使用此项目。 按下Play键开始撷取程式收送的封包。您可以随时按下 | | 暂停追踪,想继续时请再按下 | | 。按下正方形可以停止撷取封包并且显示所有已撷取封包内容。若您没按下正方形停止键,追踪的动作将依照OPTION里的设定值自动停止。如果您没有撷取到资料,试试将OPTION里调整为Wi ock Version 2。WPE 及 Trainers 是设定在显示至少16 bits 颜色下才可执行。
FILTER过滤功能。用来分析所撷取到的封包,并且予以修改。
SEND PACKET送出封包功能。能够让您送出假造的封包。
TRAINER MAKER制作修改器。
OPTIONS设定功能。让您调整WPE的一些设定值。
FILTER的详细教学
当FILTER在启动状态时 ,ON的按钮会呈现红色。- 当您启动FILTER时,您随时可以关闭这个视窗。FILTER将会保留在原来的状态,直到您再按一次 on / off 钮。- 只有FILTER启用钮在OFF的状态下,才可以勾选Filter前的方框来编辑修改。- 当您想编辑某个Filter,只要双击该Filter的名字即可。
NORMAL MODE:
范例:
当您在 Street Fighter Online ﹝快打旋风线上版﹞游戏中,您使用了两次火球而且击中了对方,这时您会撷取到以下的封包:
SEND- 0000 08 14 21 06 01 04
SEND- 0000 02 09 87 00 67 FF A4 AA 11 22 00 00 00 00
SEND- 0000 03 84 11 09 11 09
SEND- 0000 0A 09 C1 10 00 00 FF 52 44
SEND- 0000 0A 09 C1 10 00 00 66 52 44
您的第一个火球让对方减了16滴﹝16 = 10h﹞的生命值,而您观察到第4跟第5个封包的位置4有10h的值出现,应该就是这里了。
您观察10h前的0A 09 C1在两个封包中都没改变,可见得这3个数值是发出火球的关键。
因此您将0A 09 C1 10填在搜寻列﹝SEARCH﹞,然后在修改列﹝MODIFY﹞的位置4填上FF。如此一来,当您再度发出火球时,FF会取代之前的10,也就是攻击力为255的火球了!
ADVANCED MODE:
范例: 当您在一个游戏中,您不想要用真实姓名,您想用修改过的假名传送给对方。在您使用TRACE后,您会发现有些封包里面有您的名字出现。假设您的名字是Shadow,换算成16进位则是﹝53 68 61 64 6F 77﹞;而您打算用moon﹝6D 6F 6F 6E 20 20﹞来取代他。1)
SEND- 0000 08 14 21 06 01 042)
SEND- 0000 01 06 99 53 68 61 64 6F 77 00 01 05 3)
SEND- 0000 03 84 11 09 11 094)
SEND- 0000 0A 09 C1 10 00 53 68 61 64 6F 77 00 11 5)
SEND- 0000 0A 09 C1 10 00 00 66 52 44
但是您仔细看,您的名字在每个封包中并不是出现在相同的位置上
在第2个封包里,名字是出现在第4个位置上- 在第4个封包里,名字是出现在第6个位置上
在这种情况下,您就需要使用ADVANCED MODE- 您在搜寻列﹝SEARCH﹞填上:53 68 61 64 6F 77 ﹝请务必从位置1开始填﹞- 您想要从原来名字Shadow的第一个字母开始置换新名字,因此您要选择从数值被发现的位置开始替代连续数值﹝from the position of the chain found﹞。- 现在,在修改列﹝MODIFY﹞000的位置填上:6D 6F 6F 6E 20 20 ﹝此为相对应位置,也就是从原来搜寻栏的+001位置开始递换﹞- 如果您想从封包的第一个位置就修改数值,请选择﹝from the begi ing of the packet﹞
了解一点TCP/IP协议常识的人都知道,互联网是将信息数据打包之后再传送出去的。每个数据包分为头部信息和数据信息两部分。头部信息包括数据包的发送地址和到达地址等。数据信息包括我们在游戏中相关操作的各项信息。那么在做截获封包的过程之前我们先要知道游戏服务器的IP地址和端口号等各种信息,实际上最简单的是看看我们游戏目录下,是否有一个SERVER.INI的配置文件,这个文件里你可以查看到个游戏服务器的IP地址,比如金庸群侠传就是如此,那么除了这个我们还可以在DOS下使用NETSTAT这个命令,
NETSTAT命令的功能是显示网络连接、路由表和网络接口信息,可以让用户得知目前都有哪些网络连接正在运作。或者你可以使用木马客星等工具来查看网络连接。工具是很多的,看你喜欢用哪一种了。
NETSTAT命令的一般格式为:NETSTAT [选项]
命令中各选项的含义如下:
-a 显示所有socket,包括正在***的。
-c 每隔1秒就重新显示一遍,直到用户中断它。
-i 显示所有网络接口的信息。
-n 以网络IP地址代替名称,显示出网络连接情形。
-r 显示核心路由表,格式同route -e。
-t 显示TCP协议的连接情况。
-u 显示UDP协议的连接情况。
-v 显示正在进行的工作。
--------------------------------------------------------------------------------------------------
GameGuard rotect是运行游戏后自动在后台运行的游戏过程中切换回桌面可疑看到在系统
DES ( data encryption Standard) 是一种世界标准的加密形式,已经15年历史了,虽然有些老,可还算是比较可靠的算法。在七十的初期, 随着计算机之间的通信发展,需要有一种标准密码算法为了限制不同算法的激增使它们之间不能互相对话。为解决这个问题, 美国国家安全局(N.S.A ) 进行招标。 I.B.M 公司开发了一种算法, 称为:Lucifer。 经过几年的研讨和修改, 这种算法, 成为了今天的D.E.S,1976 年11月23 日,终于被美国国家安全局采用。
D.E.S 是分块加密的,将明文分割成 64 BITS 的块, 然后它们一个个接起来。它使用56位密钥对64位的数据块进行加密,并对64bits的数据块进行16轮编码。与每轮编码时,一个48bits的“每轮”密钥值由56bits 的完整密钥得出来。DES用软件进行解码需要用很长时间,而用硬件解码速度非常快,1977年,人们估计要耗资两千万美元才能建成一个专门计算机用于 DES的解密,而且需要12个小时的破解才能得到结果。所以,当时DES被认为是一种十分强壮的加密方法。但今天, 只需二十万美圆就可以制造一台破译DES的特殊的计算机,所以现在 DES 对要求“强壮”加密的场合已经不再适用了。
美国军方委托IBM公司研究出来的加密算法,是美国政府的标准加密算法,不是双质数加密法。
DES 算法全称为Data Encryption Standard,即数据加密算法,它是IBM公司于1975年研究成功并公开发表的。DES算法的入口参数有三个:Key、Data、Mode。其中 Key为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密。
DES算法把64位的明文输入块变为64位的密文输出块,它所使用的密钥也是64位,其算法主要分为两步:
1初始置换
其功能是把输入的64位数据块按位重新组合,并把输出分为L0、R0两部分,每部分各长3 2位,其置换规则为将输入的第58位换到第一位,第50位换到第2位……依此类推,最后一位是原来的第7位。L0、R0则是换位输出后的两部分,L0是输出的左32位,R0是右32位,例:设置换前的输入值为D1D2D3……D64,则经过初始置换后的结果为:L0=D58D50……D8;R0= D57D49……D7。
2逆置换
经过16次迭代运算后,得到L16、R16,将此作为输入,进行逆置换,逆置换正好是初始置换的逆运算,由此即得到密文输出。
--------------------------------------------------------------------------------------------------
DES算法的简单说明
DES的每个分组是64位,既明文和密钥都是64位(密钥实际用56位,每字节第8位为校验)。这个算法的核心是Feistel密码,由于其设计的巧妙,加密解密都用一个函数,具体原理请查阅其他资料。DES的流程基本是执行16轮下面的运算:
1 初始变换Initial Permutation
2 右边32位f函数
2.1 E置换
2.2 与轮密钥XOR
2.3 S盒替换
2.4 P置换
2.5 和左边32位XOR
3 左右交换,最终变换final permutation
需要特别注意的是,最后一轮是不需要做左右交换这一部的,有的书在这个问题上写得不够明确,逼得我当时手算了一遍,还好只是64位。
--------------------------------------------------------------------------------------------------
实现分析
可以看出DES里到处都是基于bit的置换,所以我的实现是把明文的64位拆开保存在数组里,再写一个专门处理置换的函数。
private int[] permutation(int[] initial, int[] perm)
int[] result = new int[perm.length];
for(int i=0; iresult.length; i++)
result[i]=initial[perm[i]-1];
return result;
剩下的事情就是照着书上的算法描述实现就可以了。
--------------------------------------------------------------------------------------------------
破解nProtect:
nProtect GameGuard在启动后使用SetWindowsHookEx(Inject DLL)方式进入所有的进程,并且在
OpenProce ()
ReadProce Memory()
WriteProce Memory()
PostMe age()
......等等函数的头部加入JMP XXXXXX的代码跳入监测程序进行监测,如发现对游戏进行操作便拦截该操作。所以以上函数均无法正常工作。
解决方案:
1. 运行时将要使用的动态连接库(如:user32.dll kernel32.dll)复制后改名,使用LoadLibrary和GetProcAddre 载入函数。
要使用LoadLibrary和GetProcAddre 载入函数,你需要有Visual Studio .NET,或者其中的 Visual Basic和Visual C++,当然,你还要会使用他们,而且你还要知道nProtect GameGuard运行时到底调用了哪些动态连接库(这时候大家就八仙过海各显神通吧)
2. 恢复JMP XXXXXX处的代码(需要很高的技术并有很大的危险性,而且不知道会不会再被改)
3. 如果nProtect GameGuard非正常关闭,JMP XXXXXX处的代码不会被恢复而监测程序代码却已经被卸载,这时候如果被Hook程序调用函数……
根据论坛里回复帖子,解决方案一是可以实现的,但我在用代码实现的时候遇到了问题。代码和报错信息如下:
#include " tdafx.h
typedef void (__stdcall *keybd)(
BYTE bVk,
// virtual-key code
BYT今日免费精品文档
原价:
1.96豆元
0豆元
转帖至
播放器加载中,请稍候...
相关文档
热度: t
热度:
该用户其他文档
等级:
分享于 2010-08-26 02:19
文档数据
热度:
浏览:
评论:
文档介绍
win7实用技巧介绍
win7实用技巧介绍
文档分类 -- 文档格式
如要提出意见建议,请到
发帖反馈。
校验码: 请输入左侧字符,
评论的时候,请遵纪守法并注意语言文明,多给文档分享人一些支持。
提交评论
Ctrl+Enter快速提交
评论加载中
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
(必填)
例: http://www.docin.com/p-44907311.html
推荐理由:
分享完整地址
文档地址:
你使用的浏览器不支持自动复制功能,请按鼠标ctrl+c或鼠标右键~
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
你使用的浏览器不支持自动复制功能,请按鼠标ctrl+c或鼠标右键~
html代码:
embed src='http://www.docin.com/DocinViewer-74135499-144.swf' width='650' height='490' type=a lication/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'/embed
支持嵌入HTML代码的网站使用
你使用的浏览器不支持自动复制功能,请按鼠标ctrl+c或鼠标右键~
分享给粉丝
分享标题:
推荐:windows7介绍
分享评论:
这篇文档很不错,推荐给你看看!
选择粉丝:
选择好友
您还没有选择要分享给谁哦~
您还没有豆单,请
豆单审核通过后,您会得到豆元奖励
windows7介绍
加入豆单
文档加入豆单成功
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
秒自动关闭窗口
2007-2011 DocIn.com Inc. All Rights Reserved 豆丁网
登录:
用户名/邮箱:
登录密码:
记住我
或者你也可以用以下网站登录
新用户?

参考资料

 

随机推荐