飞飞世界论坛

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

阻止崩溃包。

[复制链接]

197

主题

203

帖子

1086

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:47:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
确定的家伙,因为我没有做,我会释放如何阻止每一个崩溃/欺骗包,并保存的ID/绰号的家伙试图您的服务器崩溃。/ v6 u- f- N' Z0 z# r5 R  t8 X

  k9 U6 [( n, S首先,你需要有VS.NET2003ServicePack 1安装和飞飞来源。% z+ m* V' }, E

8 @; z" O- M' N" v3 b7 E0 `为了阻止这些数据包,你需要打开上的worldserver文件夹位于DPServer.cpp。
2 Q( K( [$ s, f- B7 D; ?9 n
1 Z2 {5 V# J. _. s" N: Y- P! G5 zEquipament崩溃:* R& B1 f7 }, F. k4 `7 `0 y

7 y9 t( ?+ D- A扰流板:' J7 p6 o, }( j! x

: h" |* I8 A" H" F6 y" f搜索:
* o4 Q/ b, q: v: p( {' g* l6 v7 O: V+ j; o1 F
邮编:
        ar >> dwData >>objid >> nPart;
        if( nPart >=MAX_HUMAN_PARTS )

$ n: c8 D# D3 _+ W+ k9 x# [( t- q
       return;
后添加:! h0 S# O  S9 D/ `- ]" y

' a4 N, n! ~! f8 H% V- l7 n邮编:
        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;
, }1 ]0 U& Y9 T/ w) p# Y8 ~! k( a
    }
并第一个评论
: b  J6 ~* l6 K' F/ R2 ?3 T邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );8 [  |+ n- Q7 g3 s2 x2 u4 C3 |
你看在我的代码。
% Z6 W1 U' d) n* O
" E: U0 @7 x: [/ F* X7 L  w
$ A; h: i+ h+ `) b8 S, m: k! [5 @$ }- }: _
购买崩溃:: f0 W/ B9 B$ s) G3 x  B
3 T: a$ V. U* h! T5 R  J
扰流板:+ L$ k8 R' T) [: R* Z) H; z" D2 I
7 L/ u3 v2 f* C) b1 U  W- ]
你需要做两次,正常购买和红筹股另一个人购买
搜索:
% q( [+ Q- ?9 f9 }# o: e! k+ g, _0 B7 f8 H9 y" p
邮编:
        ar >> cTab >> nId>> nNum >> dwItemId;
        if( cTab >=MAX_VENDOR_INVENTORY_TAB || nNum < 1 )
1 Q1 |; P% [0 X* Q0 v/ q
       return;
后添加:
0 ?- |+ w5 G6 Q* J% @. t, @; }- ?1 v( \; J) I2 B! 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 A% P2 q. ?1 b' T9 N% u
    }
并第一个评论
5 F. ^+ y# n' [3 q8 f邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );3 K( C8 w( H. d  l/ ?6 @
你看在我的代码。
掌上崩溃:- }+ q6 x. M4 P4 O/ o: \8 s! o
. y8 c/ |1 m7 N  O2 k& V, }' ~0 T1 k, V
扰流板:
! w6 c& h' D8 V6 l2 Q1 o- ^, S/ {- H8 H
搜索:
& E$ R  q% a( m4 ]1 b9 K! Y, N# \- P- _7 ~' n  B) b
邮编:
               ar >> nPocket1>> nItem >> nNum >> nPocket2;
               if( nPocket1 ==nPocket2 )
3 g) @+ {5 [/ U# T) Z" ~% L
           return;
后添加:8 Y- `  K3 i3 T+ d8 J7 S

! W; F5 _9 i7 s邮编:
               //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;               }
( ?! w* c( [; i& x/ [4 ?
对不起,英语错误,因为我brazillian。
. W9 c5 c+ c6 x, N- G; k哎呀,我喜欢,如果有人traslate德语。8 ~" t* F; g- k, ?$ I& B+ J
kkthxbye。
4 p4 u$ U. {) F5 N- N
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-28 21:21 , Processed in 0.057552 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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