飞飞世界论坛

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

阻止崩溃包。

[复制链接]

197

主题

203

帖子

1086

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:47:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
确定的家伙,因为我没有做,我会释放如何阻止每一个崩溃/欺骗包,并保存的ID/绰号的家伙试图您的服务器崩溃。6 R4 r& u' F  g7 M0 c

- `) @; {: c% p! v4 \; y首先,你需要有VS.NET2003ServicePack 1安装和飞飞来源。4 x/ _$ K4 E9 i
7 O1 g' T9 b6 F+ h, v6 d) a7 _
为了阻止这些数据包,你需要打开上的worldserver文件夹位于DPServer.cpp。
" w1 @) q$ T: G) y! ?% Y1 n& X4 K3 c0 ^4 l7 d9 [" X+ z5 w4 i. H, O
Equipament崩溃:
! W7 R8 x9 c: `1 [3 x
% t  a. X0 U7 z7 Z& b  f8 r% v扰流板:
6 L( f, w3 I+ T0 p3 i# `/ E& |
+ ^+ g/ C' t* f5 I搜索:
9 \% @# x' T) V7 }
8 ~3 O+ p) t2 S邮编:
        ar >> dwData >>objid >> nPart;
        if( nPart >=MAX_HUMAN_PARTS )

% T1 p8 i. g* q
       return;
后添加:
: \- x, }3 N- a! L
; N/ |$ G& B+ V; c" ^9 ]邮编:
        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;

: D1 ?# }! A8 l" e  t
    }
并第一个评论1 {! e* b+ e" P5 b/ u2 i, D* Z
邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );# t4 d4 u2 ?. L% @) K" i. w
你看在我的代码。  ]: s7 M& h, d: e" K! T% i
7 {! V$ _6 ~3 L  R2 ~
! w- h4 ~- ~2 p- }

& n8 z2 j3 k7 |$ D( y, ?0 [购买崩溃:2 r4 L1 _2 d& o( x" n9 J

% E' }2 H' d& H3 {$ R扰流板:
" W) o7 D: h. r+ l% Z) \6 p+ m* D$ }9 h5 K8 M
你需要做两次,正常购买和红筹股另一个人购买
搜索:
5 P! c: Y" l7 V8 ]' {' F( R; P7 I. a1 F, a& v' P
邮编:
        ar >> cTab >> nId>> nNum >> dwItemId;
        if( cTab >=MAX_VENDOR_INVENTORY_TAB || nNum < 1 )

/ B$ a" L+ H  L$ x# M) Z
       return;
后添加:
" k8 a- g/ H$ b% U/ E* F) e; T  _
$ f8 s, |9 D- B$ n4 y邮编:
        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;

8 X' m+ x  c4 S! i
    }
并第一个评论
8 H$ W- Y. x7 J' C; T4 b邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );1 V& v" P, I8 i8 g2 H1 K) j
你看在我的代码。
掌上崩溃:& q3 I. O& a% R- i0 E2 a

  |* E+ _9 ~6 f; v8 B扰流板:
. B$ g) N. {; T$ O( M* }, @* f
( V  b0 R0 I1 V) I% R8 u搜索:. J4 n9 P. F# f( E2 @& k- f* \5 E- Y4 `

9 s' A4 b/ O: n邮编:
               ar >> nPocket1>> nItem >> nNum >> nPocket2;
               if( nPocket1 ==nPocket2 )
6 ?) ?1 a  J% r( \! F5 q9 x
           return;
后添加:# g6 Z0 F5 `' {, V) c) z
1 k5 @+ Y# J  j
邮编:
               //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;               }
$ Z) ?  \+ G+ O& S$ b
对不起,英语错误,因为我brazillian。. r- Q- P% L- b3 x  v5 N5 u
哎呀,我喜欢,如果有人traslate德语。' y: g; S( A! f9 C6 m4 S
kkthxbye。

. [- g: \7 n6 F1 y( D" Q
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-21 16:48 , Processed in 0.062190 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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