飞飞世界论坛

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

阻止崩溃包。

[复制链接]

197

主题

203

帖子

1064

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1064
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:47:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
确定的家伙,因为我没有做,我会释放如何阻止每一个崩溃/欺骗包,并保存的ID/绰号的家伙试图您的服务器崩溃。; z! ~5 m; H6 v' s) O5 @
' P3 m  k% j' b
首先,你需要有VS.NET2003ServicePack 1安装和飞飞来源。7 z2 h5 B* T# {# x5 E2 [
" X0 [( z6 C2 N7 h8 o3 v/ ?
为了阻止这些数据包,你需要打开上的worldserver文件夹位于DPServer.cpp。
! e+ }2 q2 s! a/ `! Z! Y, t
+ t  L, Z% T) V: {+ ^  X5 I& SEquipament崩溃:* Z2 U6 l4 H) f& Z7 T

7 @, y) f  s- e扰流板:
0 i( r8 e4 U; ^( R& J* A! F+ h9 A5 a% ^& P
搜索:
+ S9 \- P; J2 r2 j# ~2 {
" Q  C* h# _! y5 B# w8 z  p* v# y  b邮编:
        ar >> dwData >>objid >> nPart;
        if( nPart >=MAX_HUMAN_PARTS )
$ W! `+ L  m( N) b% k+ n& q
       return;
后添加:, j/ @7 c& T( v9 O
% Y: ~" C6 u2 a4 U3 E/ y
邮编:
        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;

/ M5 v9 _6 m6 s- Q4 `  s) Q
    }
并第一个评论
" I+ @, a2 m4 i7 M邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
8 S2 K! z1 B+ p0 F
你看在我的代码。
0 J  s; K, P7 {2 M9 _) `6 ]( ~
4 i( ]7 T8 L+ x8 Y( q8 K
) z5 n( }1 l" T
, z: T4 M) ?' I* ?* \( A1 s购买崩溃:
) h) m+ U) H6 G! Z0 v/ o! H( F: S! A2 |
扰流板:
; O  J; g$ }. ^1 a6 T# E/ @! ~( B0 r( q% ]+ J
你需要做两次,正常购买和红筹股另一个人购买
搜索:
8 i$ t6 `* Q  O, }2 X$ Y8 o/ w
" f! y& R3 w+ ]( H0 t- M0 U. f邮编:
        ar >> cTab >> nId>> nNum >> dwItemId;
        if( cTab >=MAX_VENDOR_INVENTORY_TAB || nNum < 1 )
& e& E- t1 E6 U" J
       return;
后添加:- i( N% M1 C, u
# N3 b( S* D2 I1 i# n" 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;
9 z* d4 l) [% G" Z* A0 r% h
    }
并第一个评论7 p$ s5 X2 J: G  n  c
邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
, S9 V$ k/ b% n! y% P4 L# k* P
你看在我的代码。
掌上崩溃:
7 b6 b5 R. P( N
4 {: x9 n8 f, w' j8 Q' I扰流板:
) Y! @* ~/ s5 _$ ~
, V8 `, L2 J% W1 v' Q) h5 Z* ~' n搜索:' [/ ~0 a$ T6 Z- B! L
& L5 R' t2 ~# y% a2 ~
邮编:
               ar >> nPocket1>> nItem >> nNum >> nPocket2;
               if( nPocket1 ==nPocket2 )
! r0 {: H( i7 t/ g: D* w
           return;
后添加:
9 S3 |5 Z" o  Q0 @) N6 [1 P, f# N; U, [8 Q: ?( t; K& G" ?
邮编:
               //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;               }1 m) W8 q. t5 o; l, w  b
对不起,英语错误,因为我brazillian。
1 J2 s. L& F8 c2 Q! P( Y哎呀,我喜欢,如果有人traslate德语。
: X  R- u! O6 q3 w6 z' Zkkthxbye。
; f6 S# C- b3 m0 \4 J
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-1 18:53 , Processed in 0.058402 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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