飞飞世界论坛

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

阻止崩溃包。

[复制链接]

197

主题

203

帖子

1064

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1064
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:47:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
确定的家伙,因为我没有做,我会释放如何阻止每一个崩溃/欺骗包,并保存的ID/绰号的家伙试图您的服务器崩溃。
% j) X3 F; F0 e5 ?0 z3 P$ W
: B) X! o( ~' ~; L  M首先,你需要有VS.NET2003ServicePack 1安装和飞飞来源。1 D: d! h4 f. L" J# N
: K$ D# G) ?. y6 F/ g& n
为了阻止这些数据包,你需要打开上的worldserver文件夹位于DPServer.cpp。4 o% b, C  s0 W& M
1 L) q8 v/ z" b% p- V3 }: i
Equipament崩溃:0 \; ^7 j3 ~6 @- s8 e) j% T

- ?) @! i0 X/ p1 b) C# Z/ N扰流板:
8 B! o$ h9 E' t$ f
, `, ?; \! q0 g4 x2 C' t% H搜索:
; `0 y$ h; V, l/ C! j5 n2 R. o; a/ W' y
9 Y+ k8 t7 _# h, D. i# O! `邮编:
        ar >> dwData >>objid >> nPart;
        if( nPart >=MAX_HUMAN_PARTS )
8 _% h! d4 B: x1 k, \, t% U
       return;
后添加:
5 k6 w! p5 \2 R2 f8 G7 H  O( ]- z/ ~4 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;
) j7 ^! G9 ^, n! l
    }
并第一个评论
1 q8 ]# F& h* F0 c+ O/ s邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
5 H  u3 T! ~: Y! M4 Q' u3 A5 g
你看在我的代码。
. l( Z3 i$ G3 m' x
6 o" W+ q6 v$ ]" V
% `$ p/ @, h# k& Y& Y
& k6 p$ h" v% n4 @6 c购买崩溃:
( t+ |- z7 v. Y& J* W' a7 r' d, R! @1 S6 I
扰流板:/ V% m  K2 B  V/ J5 L8 Z
7 X! r- E1 S5 }, B3 k/ d& _
你需要做两次,正常购买和红筹股另一个人购买
搜索:0 q- s. N* }! e: j- g  l
2 _: d+ H' m) }" [, [
邮编:
        ar >> cTab >> nId>> nNum >> dwItemId;
        if( cTab >=MAX_VENDOR_INVENTORY_TAB || nNum < 1 )

% b3 _8 J& ^' x
       return;
后添加:
0 h7 J- N6 {- j: M  P/ X% F
* k/ J  w1 _' `邮编:
        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;
* k: v( n+ K3 m6 F6 |6 a
    }
并第一个评论1 \, ]* `+ [& z* I' s# K, V
邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
* F6 p* i" [3 x0 L+ j% H; ^( p
你看在我的代码。
掌上崩溃:
4 I4 ]% m1 b) d7 D) J" a( Y1 c- R% Q" `  j7 _( \
扰流板:' J) r6 K5 v0 k, h3 ?

% t5 ]4 t5 u) E% J6 H! J2 ]  ^- v( x+ s9 T搜索:9 n: G' T; m( `. ~

- L3 Y  O, K: E1 K- M  ]邮编:
               ar >> nPocket1>> nItem >> nNum >> nPocket2;
               if( nPocket1 ==nPocket2 )

# [2 l5 E& I7 h8 Z
           return;
后添加:6 z5 `; {# {4 Q( k) o

! I  K+ R7 o, j( `2 {! E邮编:
               //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;               }
- E6 }* z$ a4 F9 ?) v; |" t4 y. [
对不起,英语错误,因为我brazillian。
: ?  P, V! @- A4 u3 C% [0 K哎呀,我喜欢,如果有人traslate德语。. q. Y1 l. h5 e& F) K7 k* J
kkthxbye。
4 s( M9 s  {) w1 z$ B7 [% ]) i+ R
回复

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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