飞飞世界论坛

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

阻止崩溃包。

[复制链接]

197

主题

203

帖子

1064

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1064
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:47:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
确定的家伙,因为我没有做,我会释放如何阻止每一个崩溃/欺骗包,并保存的ID/绰号的家伙试图您的服务器崩溃。% i9 `6 n# Y) U2 e, J! P6 }  Z
  `: p& @& j! b: h7 l
首先,你需要有VS.NET2003ServicePack 1安装和飞飞来源。/ C' N$ |! Y" K, M; i
0 T2 U1 V5 ]: y  G
为了阻止这些数据包,你需要打开上的worldserver文件夹位于DPServer.cpp。( h" S" g/ x$ x

+ Z7 N' S/ q0 cEquipament崩溃:
% J/ W$ |1 m) r7 u( K" y6 Q- G
7 u  G5 T9 @8 x$ [( w4 Q扰流板:# z$ l: S7 W0 q7 j; E* x/ b% R

6 Y9 h7 z- U  P8 B. a4 I搜索:  n, C# ]& {( n" M. s2 F# r: l: d/ e6 j

8 r2 ]0 ^( d5 A+ _4 H; _9 a% v1 ?邮编:
        ar >> dwData >>objid >> nPart;
        if( nPart >=MAX_HUMAN_PARTS )

3 I; C, F* o! R6 L$ T
       return;
后添加:
  n& {7 w( D8 z6 h' b
% u! ~  z" [& N$ a6 ~- {+ K4 T邮编:
        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;
) @/ {* F: s; G) b
    }
并第一个评论
# R7 ~" p$ x( g; u6 M- [邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
; V! P& i& }; F' H" T
你看在我的代码。% @: [% ~' I0 R  I. k! F
, A( r# x! M* N/ y9 Q

3 U" y+ @+ V" S: Y. \8 i- S. ~
) n8 D& l( u/ f4 b9 b+ K购买崩溃:, i" f* [; ~4 K2 d2 [4 g% K. i
, w- G; D1 W) e3 Z
扰流板:# c+ a) r/ W2 n5 @: Q. w

7 a) |( L9 U8 b% \( y' u你需要做两次,正常购买和红筹股另一个人购买
搜索:
: q! |) A1 v- U9 j8 Z+ o* z% C( |4 \: C& W+ A0 a: z( V+ W; \1 \4 C
邮编:
        ar >> cTab >> nId>> nNum >> dwItemId;
        if( cTab >=MAX_VENDOR_INVENTORY_TAB || nNum < 1 )
6 S' U7 t" {) J5 d9 J* y
       return;
后添加:  ^" N% n/ g* n, X
( `+ [0 T# K  w3 H. e# a/ I0 c. X
邮编:
        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;

' i+ v0 O5 d, g! g% T- C! e
    }
并第一个评论
" ~$ Q" ^) g! t6 v邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
3 k9 W+ C4 A& v% C: y$ [$ H
你看在我的代码。
掌上崩溃:( O3 F5 M/ W) g4 H' c
& ?# U; V, N1 z. J
扰流板:2 O5 u: o4 Q$ J% T) c9 [( A% ^

/ E8 I" K5 h9 E0 R  a搜索:
' A0 p& c: q* G) C4 {6 S/ p
8 b8 G% d+ S) G邮编:
               ar >> nPocket1>> nItem >> nNum >> nPocket2;
               if( nPocket1 ==nPocket2 )

2 f) M$ ?0 H/ g
           return;
后添加:
( B# S( ]: H, N
* X' R. o7 y: q( l" k0 ^邮编:
               //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;               }* _& b! s. r/ }8 v
对不起,英语错误,因为我brazillian。
% E% }" Z( g) C4 ]5 G哎呀,我喜欢,如果有人traslate德语。
0 D& C: I8 }4 {" _% okkthxbye。

5 E- p$ Z$ [# r9 b7 r! b4 I2 W, G
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-2 21:36 , Processed in 0.068020 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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