飞飞世界论坛

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

阻止崩溃包。

[复制链接]

197

主题

203

帖子

1086

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:47:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
确定的家伙,因为我没有做,我会释放如何阻止每一个崩溃/欺骗包,并保存的ID/绰号的家伙试图您的服务器崩溃。) P( ~8 g7 k" A: ^2 }$ R
3 J# O( h, g8 n" K" e
首先,你需要有VS.NET2003ServicePack 1安装和飞飞来源。. z8 b6 F2 \7 A* O
- r; b" y. `" K  y8 ^2 H4 v- K
为了阻止这些数据包,你需要打开上的worldserver文件夹位于DPServer.cpp。' t. i% p. l% n; a* L/ x: x$ i( c
1 ?5 Z) D4 H) p4 S/ l2 E% H7 t
Equipament崩溃:
: a! u6 D- w: D$ g0 Y( K, [
  r- ^( {+ g0 p扰流板:
4 c6 i) ^6 Q6 J7 h9 ]1 M0 z
: s) Y% s8 q8 d' @& Q! X, X搜索:
4 j( {1 C1 \) {% V) U2 s
* t: ?7 O  G; u" C9 u0 w- e邮编:
        ar >> dwData >>objid >> nPart;
        if( nPart >=MAX_HUMAN_PARTS )

4 q. M( s/ X  {  l8 ?, m6 D
       return;
后添加:
7 s% T* Y) j1 S" Y: x
- W/ f) M# V5 D邮编:
        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;

$ A3 H" I( `6 J# j( L6 N+ m
    }
并第一个评论+ a% }# j' ?1 z  C* L  W" `+ K
邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );8 ]0 t; s; |' p* J
你看在我的代码。
! J8 _5 _9 ~, B8 w) m3 u. x" p3 S# s9 R
1 q5 u: `1 }" ]& b  |$ J. I: u7 R9 W

. |% h4 F$ p! }, d7 ?# I5 \- @; T购买崩溃:- J) X8 D8 s4 r) ^3 D- [

0 M$ k; l5 _4 |. t) }扰流板:
' w# x9 p; X, v: v
2 P. W1 s, K4 Y& Y. h你需要做两次,正常购买和红筹股另一个人购买
搜索:- A; X/ m+ P$ k$ M. o  [

& |1 x0 z0 F* e( C9 a% t邮编:
        ar >> cTab >> nId>> nNum >> dwItemId;
        if( cTab >=MAX_VENDOR_INVENTORY_TAB || nNum < 1 )

* \& Y& n+ j% p' H; S+ ]# d
       return;
后添加:
/ p% ]) ~' p# S  Z: o: {& e& y
" a6 N5 K! Y. g邮编:
        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;
& N# v7 b+ m- V# a8 _4 U' S, b
    }
并第一个评论6 B- [1 Y( m! u: K' {* M4 w
邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
0 k9 M: E/ B$ `  _2 U4 A/ C
你看在我的代码。
掌上崩溃:
8 G; r8 T3 n0 d9 y3 x( [5 k2 n" X  J3 B) i9 m: }( L
扰流板:
; X1 D& B& r& R- M$ \/ I; O& V" w6 F, y
搜索:
, t. v/ M1 M8 k& g% K
0 j8 F; p6 M) V9 k1 c邮编:
               ar >> nPocket1>> nItem >> nNum >> nPocket2;
               if( nPocket1 ==nPocket2 )
* Q  e. {- x5 B2 b0 x/ A+ y# K
           return;
后添加:
. p4 {3 b4 q# d+ _7 F, u( U7 }/ d+ Y2 c
邮编:
               //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;               }
/ P5 L0 e( @  f3 q' ]4 I
对不起,英语错误,因为我brazillian。
3 p5 V. p. `- P  R! \, u哎呀,我喜欢,如果有人traslate德语。  m* c$ f' O2 A; _
kkthxbye。

& u( @& i: J5 p; J, A+ x
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-13 08:50 , Processed in 0.061932 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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