飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 15980|回复: 0
打印 上一主题 下一主题

阻止崩溃包。

[复制链接]

197

主题

203

帖子

1064

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1064
QQ
跳转到指定楼层
#
发表于 2016-1-10 03:47:08 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
确定的家伙,因为我没有做,我会释放如何阻止每一个崩溃/欺骗包,并保存的ID/绰号的家伙试图您的服务器崩溃。
+ e, w, b& y1 T& h5 A
' }9 o$ f& e( u" {+ m5 r6 Y  f首先,你需要有VS.NET2003ServicePack 1安装和飞飞来源。3 q# w$ N) B3 H, y

* [2 V- V/ ?( e' d为了阻止这些数据包,你需要打开上的worldserver文件夹位于DPServer.cpp。7 K! H, v$ i. r! j6 G+ d# u* m
! t+ E' M; a' l
Equipament崩溃:0 M7 `2 Y$ v0 x

$ e) a4 y* x- X+ w0 |8 a& F扰流板:+ J6 }# m% @( M9 I

) `# Z1 v, L: _9 H' V. @+ {5 n搜索:
: ^6 r- H& i7 Z! u* y
  g( |5 C" l6 n+ B2 `邮编:
        ar >> dwData >>objid >> nPart;
        if( nPart >=MAX_HUMAN_PARTS )

. |- E4 e& n: U6 s% y
       return;
后添加:9 j) d/ F! A6 b: b) _# s
: `9 \/ [; N9 \/ e3 H# y) {8 g
邮编:
        CUser* pUser =g_UserMng.GetUser( dpidCache, dpidUser );
        //Crash packet
        if ( nPart > 30 || dwData< 0 )       {
                       Error("CDPSrvr::OnDoUseItem : Crash Try -> [Player ID: %07d], [Player Name:%s], [Packet used: %d,%d,%d]",
                                              pUser->m_idPlayer,pUser->GetName(), dwData, objid, nPart );
               return;

6 `4 r( D4 O- n4 _$ g* w
    }
并第一个评论! |$ w' k, e1 a" i! {% p0 T
邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );+ {% `" d$ N9 R" m8 y" _. B
你看在我的代码。, g. j; \: j$ X$ w) X
& s5 ]* K& _7 W/ ~* k0 {) |

' V, u: n: {6 d9 E7 q5 U8 L& |) k2 d+ a$ ]) E& w6 A
购买崩溃:' @, `5 V7 ?2 W' F8 r% u5 U) q) s

; I& x! x2 @' y" o扰流板:
; E. {5 c9 U8 ~/ N4 B, |8 _% p2 ~# `# c. T
你需要做两次,正常购买和红筹股另一个人购买
搜索:
) J* \6 t1 m4 q1 U. c8 @7 j9 [' C4 h4 L, f; O
邮编:
        ar >> cTab >> nId>> nNum >> dwItemId;
        if( cTab >=MAX_VENDOR_INVENTORY_TAB || nNum < 1 )
  W: g8 u4 \8 n- F6 ~; z7 R" B
       return;
后添加:
# X; E0 J' R* P, X# w
6 s- D4 V4 z% f6 i  f5 S  i邮编:
        CUser* pUser   = g_UserMng.GetUser( dpidCache, dpidUser );
        //CRASH
        if( cTab > 3 || cTab <0 || nId < 0 || nNum <= 0 || nNum > 9999 || dwItemId < 0 ) {
               Error("CDPSrvr::OnBuyItem : Crash Try -> [Player ID: %07d], [Player Name:%s], [Packet used: %d,%d,%d,%d]",
                                              pUser->m_idPlayer,pUser->GetName(), cTab, nId, nNum, dwItemId );
               return;

( D% q5 d9 P0 ]0 y8 L1 f
    }
并第一个评论
5 j5 {  A3 d, j4 d" P) J邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );" w( Y, x4 X# g; \$ t+ O4 r% ]
你看在我的代码。
掌上崩溃:. K. z* e; V6 i7 [0 b& ]

8 K$ ?0 {3 S% p4 i8 o$ C% t扰流板:
  ~# j5 \) @, i& p3 o( G6 \
; U6 I. F; e3 i. D. I搜索:
4 ]3 h: r6 c& T8 B$ }4 J5 q5 h( ~7 ~* n( t3 L
邮编:
               ar >> nPocket1>> nItem >> nNum >> nPocket2;
               if( nPocket1 ==nPocket2 )
9 h5 }' s6 N7 J. z. ]
           return;
后添加:
5 Z" n% c5 E3 s0 X1 S, J, x) K6 `; |' C, X
邮编:
               //DUPE CODE               if( nNum <= 0 ) {                       Error( "CDPSrvr::OnMoveItemOnPocket : Dupe Try -> [Player ID: %07d], [Player Name: %s], [Packet used: %d,%d,%d,%d]",                                              pUser->m_idPlayer, pUser->GetName(), nPocket1, nItem, nNum, nPocket2 );                       return;               }                //CRASH               if( nItem < 0 || nPocket2 > 2 || nPocket1 < -1 || nPocket1 > 52 ) {                       Error( "CDPSrvr::OnMoveItemOnPocket : Crash Try -> [Player ID: %07d], [Player Name: %s], [Packet used: %d,%d,%d,%d]",                                              pUser->m_idPlayer, pUser->GetName(), nPocket1, nItem, nNum, nPocket2 );                       return;               }! M* Q1 g8 o$ ]( m
对不起,英语错误,因为我brazillian。
0 b. L8 P4 c& y8 s4 N哎呀,我喜欢,如果有人traslate德语。
1 ]  F/ }8 z, R2 ]+ @' skkthxbye。

( M& K5 g% w* M# f
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|飞飞世界技术论坛  

GMT+8, 2025-8-2 21:35 , Processed in 0.064992 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表