飞飞世界论坛

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

阻止崩溃包。

[复制链接]

197

主题

203

帖子

1074

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1074
QQ
跳转到指定楼层
#
发表于 2016-1-10 03:47:08 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
确定的家伙,因为我没有做,我会释放如何阻止每一个崩溃/欺骗包,并保存的ID/绰号的家伙试图您的服务器崩溃。% L$ L' C' S7 m! P5 p0 B
: Z+ g5 a- U! c4 y
首先,你需要有VS.NET2003ServicePack 1安装和飞飞来源。
4 k' l; ?3 T1 _  c5 X5 j) H  ~+ L% S2 L
* B/ S6 _6 @. a3 x0 e+ D( Z为了阻止这些数据包,你需要打开上的worldserver文件夹位于DPServer.cpp。) u; c$ m7 ^7 g1 d7 _

) I2 q2 |1 v! `% ^: x/ V# DEquipament崩溃:
5 T' k; T, e" k4 w
! e0 b% U( k" ?, L3 O- Z! J扰流板:
8 U  |- V& Y; m$ l% j4 M) S2 b% g0 H: W
搜索:
' E" W" H$ P5 m1 n* l2 K/ P( ], B3 @5 ]- c3 O
邮编:
        ar >> dwData >>objid >> nPart;
        if( nPart >=MAX_HUMAN_PARTS )

; K1 K6 C) f# W5 ], t! j
       return;
后添加:1 H( p, D7 s- e5 d

( C* J  M" r/ y3 z0 Y$ J5 Q( x邮编:
        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;
- w: D: [2 V' z/ J
    }
并第一个评论
2 V! e1 V- b) b8 D邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
  W$ q: j+ ]+ c9 P( `3 m) V
你看在我的代码。
* g* u: [- |4 V8 D
7 Y3 q; t% ~! [& H+ _1 m# S" W) v) K' N; B1 x; a" e

! }1 V; C4 ~2 Q3 d" V; m$ A购买崩溃:
) e0 f, p/ I' }% _9 k4 g7 G7 \, g! [% u2 R; B5 x4 g/ r. R
扰流板:. @3 T: g! Y6 Q8 L: ^9 `4 c/ w

- x& i& v: z& S7 k: B" v) \: {6 m. F你需要做两次,正常购买和红筹股另一个人购买
搜索:
7 s& B4 P# Y) B5 \5 x/ V! \
3 y; v& _6 N8 q  U邮编:
        ar >> cTab >> nId>> nNum >> dwItemId;
        if( cTab >=MAX_VENDOR_INVENTORY_TAB || nNum < 1 )

1 L5 B  h$ I6 C$ ]4 U
       return;
后添加:
: [+ P, Y2 t4 D' K: \5 r& F& Y. _4 C- T
邮编:
        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;
! j: C( q2 [, T" ?3 y
    }
并第一个评论# N" A& w. M8 }' w3 ?" m! R- B
邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );4 K  a7 j" \: X$ J
你看在我的代码。
掌上崩溃:
7 t) B$ D; `8 C0 k$ y. @/ B) Y( J2 Y! u* Z, _) c; G
扰流板:& T$ \7 W+ ^2 K7 D
) l& g7 q" J0 S! \
搜索:
! o! y/ H/ T$ F+ o9 r8 h
  p( }, K7 F. ^% t邮编:
               ar >> nPocket1>> nItem >> nNum >> nPocket2;
               if( nPocket1 ==nPocket2 )

7 q* h- ^$ ~6 Q+ F4 y
           return;
后添加:
" v2 A! T2 i! R3 t# h: m" c4 W
. m* ^- g3 S3 i. r( z+ \邮编:
               //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;               }* E& h4 q5 k- k- {3 e  Q6 I
对不起,英语错误,因为我brazillian。
7 p8 a: H8 W! U7 D. _! {哎呀,我喜欢,如果有人traslate德语。
8 r5 d% Q( ~5 v5 @0 L! ]6 M: Ekkthxbye。

1 j* a: N9 R7 u! @% P
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-14 08:52 , Processed in 0.064229 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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