飞飞世界论坛

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

阻止崩溃包。

[复制链接]

197

主题

203

帖子

1086

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
QQ
跳转到指定楼层
#
发表于 2016-1-10 03:47:08 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
确定的家伙,因为我没有做,我会释放如何阻止每一个崩溃/欺骗包,并保存的ID/绰号的家伙试图您的服务器崩溃。
! _& k  ^3 v& N1 i1 }9 e+ z4 Y& U3 b- h+ I3 n2 x4 L) }6 C
首先,你需要有VS.NET2003ServicePack 1安装和飞飞来源。/ u6 W, R# N8 u' K% c
0 \1 g. L/ W" A% ?/ m
为了阻止这些数据包,你需要打开上的worldserver文件夹位于DPServer.cpp。: I/ s$ Q/ t( L- f

* M8 g( I4 e  X7 UEquipament崩溃:
6 Y  {3 K' R, H+ l" u
; l$ G  Q4 M! \* C扰流板:
9 E0 z5 Q# G# Z' D& f4 e) W: L: V5 m( M& D) [- O; o
搜索:: \3 H6 j6 p5 ~$ l* i
& T5 q6 E, ]$ M
邮编:
        ar >> dwData >>objid >> nPart;
        if( nPart >=MAX_HUMAN_PARTS )
7 X8 j; m; R9 l1 W- }  }' ?8 r$ F
       return;
后添加:9 g# S6 c7 j7 Z+ m8 I* {

4 h( P  p0 ~1 C8 `4 O/ N% b$ U4 ^邮编:
        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;
, L9 }! O$ B4 A8 }; e, Y) R
    }
并第一个评论
, L7 w1 X: G6 c4 c邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );% @, G" N! m" U, E) Y4 H
你看在我的代码。6 s0 _! H5 C3 ~. |2 X7 O

8 ?; s( f; n! E0 h% _% ^
' \3 a. `% I) `% J2 G7 ~8 R& x8 l# x# F
购买崩溃:
0 u) |' q( z) z% A( B" n
/ C* r* b/ v2 U+ V2 f9 \5 l# x8 o, A扰流板:
3 l0 @, x+ N7 x. L6 w% q2 _
* Z- y$ J* \% q7 K( B, l4 w  m你需要做两次,正常购买和红筹股另一个人购买
搜索:
6 L) z' Q% d  U! `, f5 T- y/ V3 z" |4 `8 s0 H
邮编:
        ar >> cTab >> nId>> nNum >> dwItemId;
        if( cTab >=MAX_VENDOR_INVENTORY_TAB || nNum < 1 )

6 J1 ~6 G$ u9 ?% o% k  c/ g
       return;
后添加:
8 N( ]8 A% k7 S  [$ f- H: p( U
( m6 p% y9 \  w' b# {邮编:
        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;
3 V! D& X3 _+ x) c! u7 v
    }
并第一个评论9 f& c$ J$ h6 x$ B
邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
* J: t- X' r6 T# K" R
你看在我的代码。
掌上崩溃:
& ~3 `9 X% R  p' w+ ~( m" K+ y$ X9 i, }) G: ]# @
扰流板:2 K0 a3 _6 n" @/ t- [8 m
4 i+ x* B/ h3 {+ \/ T. Z: A& J# F
搜索:  e2 P9 U- q% Z8 C& m( ?

  L: Q* f" r9 J$ S) l邮编:
               ar >> nPocket1>> nItem >> nNum >> nPocket2;
               if( nPocket1 ==nPocket2 )

0 F2 L" m1 l/ @! q0 l
           return;
后添加:. V& n, o% X/ j0 U' J; }
- G- |' l/ h5 R+ U3 f- {  q% @
邮编:
               //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;               }
7 F. ]5 X7 B. d0 n
对不起,英语错误,因为我brazillian。
3 G% W, I0 g; P* s; v2 a% _哎呀,我喜欢,如果有人traslate德语。, w/ Q, x) C  k/ Y  A: H
kkthxbye。
/ K1 n5 A3 _5 y$ @* f8 w
回复

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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