飞飞世界论坛

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

阻止崩溃包。

[复制链接]

197

主题

203

帖子

1074

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1074
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:47:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
确定的家伙,因为我没有做,我会释放如何阻止每一个崩溃/欺骗包,并保存的ID/绰号的家伙试图您的服务器崩溃。
! `7 t9 m- ?( p
) K5 i1 G" v- t* {3 W3 z8 C首先,你需要有VS.NET2003ServicePack 1安装和飞飞来源。
/ L$ O/ E; }" X) a. b6 l3 w1 ?/ o. P8 c
为了阻止这些数据包,你需要打开上的worldserver文件夹位于DPServer.cpp。
$ l, v& f+ _; O, W1 E/ Y$ q; I9 x4 b
Equipament崩溃:
+ c, m3 o3 F% b0 V7 s. X
# C6 e1 V/ {" M( Y0 I扰流板:. D( _2 C$ j2 d- H! C! V$ u( V
* t/ m! X& G1 H
搜索:
! x; B+ k7 ^3 \' n! u9 U0 h2 }1 S( ]- g
邮编:
        ar >> dwData >>objid >> nPart;
        if( nPart >=MAX_HUMAN_PARTS )
1 m+ U" u& }) w% n& y
       return;
后添加:' n9 R( ]& `. d' ?; n) o
- |3 A# X# {9 h: B" z
邮编:
        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;

/ [/ ?$ H- |+ u4 l5 |" O8 y
    }
并第一个评论( X  J, f1 N( k! X
邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );( h4 t' f* D( w& A! @
你看在我的代码。1 B/ ^4 Z2 j8 z, J! s5 n1 Y* H5 y

9 a" x- h+ L& r+ T# c, M, G4 n1 w+ W

6 W) c& }* f6 F, k2 N" {购买崩溃:0 F6 A  Q, {' M, K

: x) V6 z) u+ n$ f" D4 l# I5 M扰流板:
% H( o3 @& X, u2 G7 r5 X$ P
( r9 t( l3 S4 r4 V7 m3 C0 }你需要做两次,正常购买和红筹股另一个人购买
搜索:5 b# G8 U% x/ E8 S+ c

; S; G3 p: v$ H3 v+ ^邮编:
        ar >> cTab >> nId>> nNum >> dwItemId;
        if( cTab >=MAX_VENDOR_INVENTORY_TAB || nNum < 1 )

6 [' h( p6 z/ k: }7 @
       return;
后添加:
& j8 H; ~/ P( `+ E$ J) x1 d9 q' S3 g) G. G( \# m# C0 u- R) y
邮编:
        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;
' k6 b) v6 ]6 A8 a& `
    }
并第一个评论- S: ~7 T7 o' _
邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );% L6 E* [0 l+ K4 i3 N
你看在我的代码。
掌上崩溃:  m6 A5 Z- U; ^% k9 T
- l' _$ o9 N2 `( T
扰流板:
. M/ b! d9 P; ]/ T, e  X  W' U4 J' y# x( i* B* `$ F
搜索:" Y* V  }: k/ B1 ?% U( \
2 r# g7 y5 W+ n+ E8 k/ \3 G  V9 Y* K
邮编:
               ar >> nPocket1>> nItem >> nNum >> nPocket2;
               if( nPocket1 ==nPocket2 )

7 n0 `' T5 [! r/ ~" L5 V
           return;
后添加:
9 _6 g1 ?/ U7 Y( `2 F) j3 G$ b) _& W6 \
邮编:
               //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;               }. X" p- Q7 g3 `5 u3 q' _% }& f
对不起,英语错误,因为我brazillian。2 c! T+ h( H. Y
哎呀,我喜欢,如果有人traslate德语。
1 K: l% A/ B3 o0 J7 fkkthxbye。
( R# w0 k$ B7 S3 Y' ?8 a
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-14 08:52 , Processed in 0.079923 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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