飞飞世界论坛

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

阻止崩溃包。

[复制链接]

197

主题

203

帖子

1070

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1070
QQ
跳转到指定楼层
#
发表于 2016-1-10 03:47:08 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
确定的家伙,因为我没有做,我会释放如何阻止每一个崩溃/欺骗包,并保存的ID/绰号的家伙试图您的服务器崩溃。
9 ]1 N/ q- b2 v' R( W, z+ P" c* ?# @3 C- N* c$ I
首先,你需要有VS.NET2003ServicePack 1安装和飞飞来源。6 N. {4 u2 t# m+ s) S  B. u# F

3 ^0 J% e  B9 u, \; X6 D+ `为了阻止这些数据包,你需要打开上的worldserver文件夹位于DPServer.cpp。
% |- q1 M' ]- R2 w# y' Y6 ]' E) J# ]5 _, l7 o+ k
Equipament崩溃:
: c6 o2 Q2 T( l
7 n0 D+ ?, |, M' A6 S1 E' m扰流板:# Q/ P' e" r  p  H/ f( }) D

7 }. e' [2 r- U5 X搜索:& l) \) `3 a2 Q1 A! \5 a. N. h

. e! \9 V6 `. l, g邮编:
        ar >> dwData >>objid >> nPart;
        if( nPart >=MAX_HUMAN_PARTS )
" N5 Y* u6 \0 O! m; V* b
       return;
后添加:
" Z  @0 I3 g# V) p. l
: u( C7 j/ h7 I* L3 {邮编:
        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;
" s3 X( M( F0 `  W
    }
并第一个评论7 C+ W- n* a# D+ z
邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
! {% ^  g7 R$ U, q4 X% Y
你看在我的代码。
% |, V2 [& l  Y2 p; I8 O) h; f& Q3 X3 d5 X' [
* V5 E" i( c( b/ N; ^+ ^
# v/ S: O" y5 z" u9 x& f/ P5 f
购买崩溃:3 G" y- T1 i( I+ V' n5 ]5 D
9 K! c( ^# W; s, w
扰流板:% s9 j5 c$ H/ A$ I" A

; I3 Z8 Z/ N7 Q& x$ D; B" A你需要做两次,正常购买和红筹股另一个人购买
搜索:3 k  q9 e8 w& k

  b6 q( B$ }# ~* X9 s4 r  q3 }1 V邮编:
        ar >> cTab >> nId>> nNum >> dwItemId;
        if( cTab >=MAX_VENDOR_INVENTORY_TAB || nNum < 1 )

8 Z; N$ b7 {. ?8 I  Z" M( W- u
       return;
后添加:
6 m9 p' [- i8 _9 p3 K- s5 ~0 c5 V3 R, V( O" N, j: q
邮编:
        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;

0 d$ D5 `  z$ P# |4 }2 @2 s
    }
并第一个评论
7 Z; x  v( F, i7 P, a1 d: C  w3 o邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );3 v" J6 j7 ~! b9 ^( b( `8 v- A
你看在我的代码。
掌上崩溃:
$ e/ @# N& R1 E5 D9 u- x  q+ H  I% n) z
扰流板:
/ z# j: c  p8 u" G9 @- }% S( c2 q3 q, `/ s3 j
搜索:& R+ g6 q: D" R! Z8 b  ~9 u; j% g

& i2 A: l6 C! \+ w- @% U邮编:
               ar >> nPocket1>> nItem >> nNum >> nPocket2;
               if( nPocket1 ==nPocket2 )
1 M9 v/ C8 U; u! h) C* C
           return;
后添加:
. L- V% x+ I) y2 r1 C7 c- s+ Y: b4 V& g2 {# Y
邮编:
               //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;               }
  c- v$ H6 q. f" p6 i
对不起,英语错误,因为我brazillian。
% k4 y" H% ?- p# }3 i哎呀,我喜欢,如果有人traslate德语。# n$ w7 v; P8 D! Z
kkthxbye。

' N% P% P5 F9 b7 b; h" a
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-5 03:50 , Processed in 0.061682 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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