飞飞世界论坛

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

阻止崩溃包。

[复制链接]

197

主题

203

帖子

1064

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1064
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:47:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
确定的家伙,因为我没有做,我会释放如何阻止每一个崩溃/欺骗包,并保存的ID/绰号的家伙试图您的服务器崩溃。
7 n: L  L& ^9 p& t3 [$ P9 p
0 A( x1 T: F# S首先,你需要有VS.NET2003ServicePack 1安装和飞飞来源。* q+ p0 Y/ w2 W1 L4 T

: D2 E3 [; R4 n8 t为了阻止这些数据包,你需要打开上的worldserver文件夹位于DPServer.cpp。9 l' f0 X+ a8 `9 g  |

! M! ^* e/ S; J  d0 Q) k* `Equipament崩溃:8 Q7 l$ o) v8 X9 G
$ x/ n0 G7 b( G. z( j0 t0 w' p
扰流板:
- t; Q0 l/ K6 d" u* [$ r0 o# f) j$ S0 C( U9 h1 t5 N  g$ Z, r: @
搜索:4 \$ @1 {' i; g9 Q/ |4 U- d

' U" W  J# O$ ^$ A* I7 x! q邮编:
        ar >> dwData >>objid >> nPart;
        if( nPart >=MAX_HUMAN_PARTS )

4 E, ~; L4 i: P8 w: A& F
       return;
后添加:
/ S2 ]0 |; g! c" d) `( X' M" b+ g. K! Z
邮编:
        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;

8 M/ E9 F8 t( x4 p0 W( y0 i
    }
并第一个评论
5 w6 g$ e( o% V; H# C2 y3 A邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
% }, O; h3 K! Z/ \0 R
你看在我的代码。
( c3 J* [# G! S, _8 i# n  a% w% B8 z. \0 ~. ~1 S  h
, X- B$ C; y0 N. H6 t5 d
1 S2 U  {. ^- z. C0 t+ h. r8 L
购买崩溃:0 S" s- T& f$ k- ]/ _+ k

9 w4 U7 n7 u3 f扰流板:
; O  U, u" E( D1 Y/ t7 |2 w- N3 Y  q/ f5 \2 H# E2 l( Z: ]
你需要做两次,正常购买和红筹股另一个人购买
搜索:! L/ x( B* L) G5 C" e% y! g) U0 S
7 U. A1 U7 x; f- f, F1 g( ?  r
邮编:
        ar >> cTab >> nId>> nNum >> dwItemId;
        if( cTab >=MAX_VENDOR_INVENTORY_TAB || nNum < 1 )

7 [' _1 g- ?* Y# {/ a7 a
       return;
后添加:
. F9 ^/ y0 `. {! l% t3 J  V* [" i! c
邮编:
        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;

9 K3 z; |9 |  p  Q  D! L
    }
并第一个评论
0 u& A5 ~! O, m2 B" Q" Q/ L' g邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );2 X% C- {1 q9 j) w3 K- S# y* ^; R+ C
你看在我的代码。
掌上崩溃:. B3 n- ~- \# I2 ~/ s4 [- g6 m" {% O

5 C# N' X- O& S: Z- d扰流板:& l1 f* Q4 V3 G5 Q" I+ y& O

: _2 d; P, w7 e搜索:
: u1 r* Z. d, s' H& o/ B4 k% _5 i0 c3 |- B
邮编:
               ar >> nPocket1>> nItem >> nNum >> nPocket2;
               if( nPocket1 ==nPocket2 )
# X1 G0 T, a; J* f, u  e
           return;
后添加:/ p& d1 J( q: a  N, {! h$ q
7 ~, I9 V+ K- D* f
邮编:
               //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;               }9 X6 H; W7 a6 G# ]& W4 d$ N, i8 D! I% e
对不起,英语错误,因为我brazillian。: x3 l, c, d) P$ b: \* y+ p
哎呀,我喜欢,如果有人traslate德语。
4 j9 }- ^" X. d8 b2 m' s- _kkthxbye。
7 Z: o5 F. ]; _/ L$ w8 w" |
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-16 20:36 , Processed in 0.058104 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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