飞飞世界论坛

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

阻止崩溃包。

[复制链接]

200

主题

203

帖子

984

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
984
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:47:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
确定的家伙,因为我没有做,我会释放如何阻止每一个崩溃/欺骗包,并保存的ID/绰号的家伙试图您的服务器崩溃。
. S( L' h( A( j' f
% E9 ]' w& y! \+ C7 Z首先,你需要有VS.NET2003ServicePack 1安装和飞飞来源。2 e5 t# w" L; `2 f8 r, {4 J
' S* S: s5 Q0 W* o" a7 r3 Z4 E. ]
为了阻止这些数据包,你需要打开上的worldserver文件夹位于DPServer.cpp。1 }% [# }7 o) a5 x% S- @
% e" M5 g! l! M( N' H7 j
Equipament崩溃:
8 ^0 y" z- j5 g# c, k
6 q( P+ m% M7 F/ {1 [6 ?6 s9 Z% z扰流板:
' n& w  w2 I; p) E: Y7 g; f( `* b5 v+ d" }" `" f, r: c* N" w
搜索:! Q: u; \0 K1 u3 C! r+ D: \

4 ]0 D2 P. ]1 W+ H# r( B8 ?邮编:
        ar >> dwData >>objid >> nPart;
        if( nPart >=MAX_HUMAN_PARTS )

3 e! J8 y$ _) M8 L: u, W
       return;
后添加:
2 U' t2 W* t1 K5 k: D% P5 p
5 a4 ?* L+ A: _( O& e8 a邮编:
        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;
7 s; p9 f, q" d8 e$ D5 V
    }
并第一个评论: o6 Z8 Y* {, u% V2 u$ l
邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
! m  k7 B- L! P2 i7 K6 {# T
你看在我的代码。
  _1 a9 H- K* r9 Z8 _. c
* ^* V4 _' t% W+ }  |5 y$ Z, a2 O: Q8 ?/ h, }
! P! e  ^; X9 n0 Y8 y' r
购买崩溃:$ \, g" h! A) x: X
9 K6 x5 P; k* L) z
扰流板:5 A, Q7 Q5 X' \( a$ o5 e: J

9 S3 h8 _' F% I, A. x$ K/ F+ l你需要做两次,正常购买和红筹股另一个人购买
搜索:, T! H$ J5 t& V
- q8 m4 L+ b& }) A& u
邮编:
        ar >> cTab >> nId>> nNum >> dwItemId;
        if( cTab >=MAX_VENDOR_INVENTORY_TAB || nNum < 1 )

8 ?: {3 b, ]1 }* ^9 `0 l  t
       return;
后添加:2 ~4 v0 C* B& C! |
% `1 _7 I4 X, e0 S# B1 i$ Y( 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;
2 w2 s* z9 c8 k( D
    }
并第一个评论% q- Z6 m, V9 t& ?
邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
+ y$ W1 C& ^+ C& ^/ P1 j
你看在我的代码。
掌上崩溃:
7 L* x$ X: y& N! I0 o4 l( S  }5 w+ W9 K, R/ y6 n
扰流板:
' ~% C' o3 _3 ]. r. K# E
  P1 {: [+ [" b6 m6 o+ j3 `+ `7 E搜索:* P0 {- C0 O+ k% x7 n

" b  R- g+ s- j$ ~, Q5 W) [0 r. Z邮编:
               ar >> nPocket1>> nItem >> nNum >> nPocket2;
               if( nPocket1 ==nPocket2 )

. y6 b. b; s$ o' Q& h
           return;
后添加:
5 v! H( |3 Q; o9 k' u3 `
7 Y- x: R3 \" r5 k邮编:
               //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 p/ x+ u+ i, X4 M+ R3 s
对不起,英语错误,因为我brazillian。! s2 B$ p8 c6 r# k
哎呀,我喜欢,如果有人traslate德语。
  Y% w( d0 C% v; V& u0 g: Lkkthxbye。

' v& K& `2 a& r4 e& L- a8 g. U1 T
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-5 01:18 , Processed in 0.056759 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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