飞飞世界论坛

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

阻止崩溃包。

[复制链接]

200

主题

203

帖子

984

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
984
QQ
跳转到指定楼层
#
发表于 2016-1-10 03:47:08 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
确定的家伙,因为我没有做,我会释放如何阻止每一个崩溃/欺骗包,并保存的ID/绰号的家伙试图您的服务器崩溃。
0 s( u- ~  L4 z
; {2 t+ P$ {; U9 E首先,你需要有VS.NET2003ServicePack 1安装和飞飞来源。% c4 D( N5 A4 N& r4 d$ t
# r9 [, D% m( E. b" k
为了阻止这些数据包,你需要打开上的worldserver文件夹位于DPServer.cpp。2 b. l' q4 v9 X7 `: K

5 b/ z' m- O4 I, F& nEquipament崩溃:
2 R6 \( S, u* \. j& _' {3 @8 ?; v6 _) H3 O( h1 Q% a
扰流板:5 x; ^7 _2 h* m9 ~  {

5 z! q1 s6 f3 L8 q8 F- ]搜索:& ^% o/ ?$ p+ f) x, y  A7 [: a% w
; M$ J* [5 q, n
邮编:
        ar >> dwData >>objid >> nPart;
        if( nPart >=MAX_HUMAN_PARTS )
! x" c7 {0 l$ l: {6 }& B
       return;
后添加:
8 [/ o' h, c4 F) e6 L$ ~; i
7 x0 D; }  M4 p) \4 c/ S! B邮编:
        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;

! K6 g5 |9 ?0 s4 |, v3 H
    }
并第一个评论
8 r  l% Y7 d; B* z邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
- w/ m7 N1 q7 M9 N! U  c
你看在我的代码。
2 s8 W8 }& Y8 ~; p% i2 V/ O, S+ ^# Z6 I) @

+ L1 L5 p+ ~/ W9 \  c: e
$ k3 Z" m3 r& b, w, h6 S购买崩溃:
: P" {. V+ J0 B3 @  i5 |. f# X; w9 N- t/ A0 L& \
扰流板:4 }( `' |% n* i9 d! `8 `8 b
$ @) {  @3 N$ w* W
你需要做两次,正常购买和红筹股另一个人购买
搜索:
8 N0 _3 |1 i1 d. J; B# {
4 C. z" k  Q2 U! _! a邮编:
        ar >> cTab >> nId>> nNum >> dwItemId;
        if( cTab >=MAX_VENDOR_INVENTORY_TAB || nNum < 1 )

' F5 U+ O$ W, z* F& ^1 v
       return;
后添加:
. F" Z) l8 H$ t. {' p* [, m
1 W' Y1 g3 n4 T, q0 R( ^* E邮编:
        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;
0 V+ T$ {4 p6 y0 h) Y
    }
并第一个评论8 ]2 J1 d/ w2 u8 F% W$ o8 h* L0 H
邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
% w, F- u6 K: ]4 E' D9 f
你看在我的代码。
掌上崩溃:
9 `* a; ^3 ~% C8 ~4 n; t  G- O2 u6 s( a6 {1 [/ R# _( J* p
扰流板:: O- I4 y6 a" D/ U+ r
- [0 G/ ]1 ?; f! l( |6 K" C  Q
搜索:! k3 j& M; X- v6 |* @: A
# j! H( q7 t6 A7 o& z" F7 ?9 s  Y
邮编:
               ar >> nPocket1>> nItem >> nNum >> nPocket2;
               if( nPocket1 ==nPocket2 )

4 t1 n+ D% O$ P- R2 E6 t
           return;
后添加:/ v6 w( c5 h2 S* i! G+ y
1 j2 e7 G1 L# h
邮编:
               //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;               }
% ?3 Z  m! E1 f! [. V! o: \
对不起,英语错误,因为我brazillian。9 Q1 T; z9 K5 e0 b: ^. l# E
哎呀,我喜欢,如果有人traslate德语。
8 R! ]! Q( B# b# G" Q7 @0 qkkthxbye。

3 Z( `- Q1 m% |
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-7 18:09 , Processed in 0.057565 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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