飞飞世界论坛

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

阻止崩溃包。

[复制链接]

197

主题

203

帖子

1078

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1078
QQ
跳转到指定楼层
#
发表于 2016-1-10 03:47:08 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
确定的家伙,因为我没有做,我会释放如何阻止每一个崩溃/欺骗包,并保存的ID/绰号的家伙试图您的服务器崩溃。
" R- Y4 ~/ U% h% d; _/ y& p, g- S2 U  d" B8 \; U1 F* A9 X1 N
首先,你需要有VS.NET2003ServicePack 1安装和飞飞来源。3 w7 P6 I6 K, U- j. ]- G) T' }
: b1 i  K6 n( ]" z
为了阻止这些数据包,你需要打开上的worldserver文件夹位于DPServer.cpp。
7 A' [; K. {. y: O. p+ w" _
9 X8 l2 r1 r6 f) s+ k- [Equipament崩溃:) R) }" D9 |5 K) E  e8 n
8 [9 ~5 R$ R; w) s9 }7 o
扰流板:- R! x- L6 ^* J$ t5 _% D# D: T/ I
6 b3 s" P0 k$ W+ E% i5 l
搜索:3 y3 K( q5 J+ g6 S+ E# E

! w- }: s9 ?0 n( F% V& }邮编:
        ar >> dwData >>objid >> nPart;
        if( nPart >=MAX_HUMAN_PARTS )
  Y5 a9 b( @, N1 a( r# ~6 T
       return;
后添加:$ J, [# d" y, L4 s! A7 v" ^- P& T
0 k& B# |  C$ D& {+ u% I6 h) X
邮编:
        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;
$ K" Q5 R9 g0 \, U) ^3 H
    }
并第一个评论
/ J, v' Z! I+ t1 u, z邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );9 P8 y% {1 U/ j* f0 \9 V: h9 X  h( A
你看在我的代码。
! |% X! i$ i* r, U1 j3 C- N, n2 Z1 E- G' ]! K' T0 _; M

8 M7 O1 h+ B( u" G' L* k$ T
: x; o5 w+ h: \购买崩溃:: }& l/ d9 ^& s$ ~$ v/ M) I

# F3 ^1 ^8 f9 ]! _) [扰流板:
' `. a" \8 ]9 i" L/ H1 ?/ `& Y8 O, v6 l1 }
你需要做两次,正常购买和红筹股另一个人购买
搜索:4 {& a" n; [2 @( ]1 W
6 x; |  T0 P6 N+ x6 _. o! {* t
邮编:
        ar >> cTab >> nId>> nNum >> dwItemId;
        if( cTab >=MAX_VENDOR_INVENTORY_TAB || nNum < 1 )
$ ?1 n6 M$ `2 ?) h# R
       return;
后添加:1 d9 g! ^0 z! ]) M
% c% m: j9 b9 b4 y, m
邮编:
        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;
* ?" R$ Q% g! A4 m( ?, X
    }
并第一个评论
3 I& z' g+ n, _" J6 G邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );- V8 T) T& q) T9 x& d) k
你看在我的代码。
掌上崩溃:
8 H0 {0 t* S3 B) A2 w0 A, r. J- }" ~) W2 D) C4 \
扰流板:
+ _$ h. o! r( |. ]% n- M5 T: P2 X! R1 w
搜索:
% K6 L7 k0 h8 i+ m7 A. x2 E) A9 {' A" x0 W
邮编:
               ar >> nPocket1>> nItem >> nNum >> nPocket2;
               if( nPocket1 ==nPocket2 )

  {# G% F9 F" f5 t0 S! A' ~: ?
           return;
后添加:
5 I& W, }& X" c3 @2 F
' T# @$ [! w1 ~邮编:
               //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;               }, w3 S6 E/ a" v8 D& @
对不起,英语错误,因为我brazillian。
4 {6 [3 O. T1 X1 F哎呀,我喜欢,如果有人traslate德语。: F9 }$ D2 J' e) p+ }9 t
kkthxbye。
3 u, U. P9 w" |" a9 @
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-24 16:04 , Processed in 0.245398 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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