飞飞世界论坛

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

阻止崩溃包。

[复制链接]

197

主题

203

帖子

1078

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1078
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:47:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
确定的家伙,因为我没有做,我会释放如何阻止每一个崩溃/欺骗包,并保存的ID/绰号的家伙试图您的服务器崩溃。
& |, a6 S. k# b0 M. f8 U' v5 i# H- {4 N. x8 O2 n$ ~$ r! @" y5 `
首先,你需要有VS.NET2003ServicePack 1安装和飞飞来源。4 _7 n# B; Z8 e# Z& J( Q' C

" S9 ?% a# Y+ G" F1 Z+ u# j为了阻止这些数据包,你需要打开上的worldserver文件夹位于DPServer.cpp。
7 k% R. w& u- J- x. e* g+ l' V6 D: O. Z: h8 z+ e& r# n  \7 q) _0 K
Equipament崩溃:+ Y2 H) ?# i1 s. O3 [  v
% `9 H8 l- ~' ?1 [
扰流板:
2 L- j5 P/ g6 d& g- b0 b  W: b$ n/ j  E5 K" J
搜索:
' i8 T6 f. a/ I$ V/ u, S4 G2 x/ b8 U0 B
邮编:
        ar >> dwData >>objid >> nPart;
        if( nPart >=MAX_HUMAN_PARTS )
; B( q$ N( {% u8 A2 v; T
       return;
后添加:& S( h" s2 T" n2 T: V! Z8 \
2 A' F; i6 |4 F
邮编:
        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;
3 T4 X  y, u+ y& E9 h4 v
    }
并第一个评论8 J$ [7 u6 ?. E
邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
- l! q# ?& Q) w
你看在我的代码。5 s% L2 ?' z( }  D  u

0 `9 I& C, T* e9 V- m
( y$ _8 e5 c; U4 ]$ d' x4 z- `. L1 a, _$ G0 J8 I& l( ]$ q
购买崩溃:: ^" b# c1 j( o2 Y" y, e
3 H2 I3 y0 R: E2 x8 Y$ x
扰流板:
+ n/ Q; p9 b6 E/ o
* q6 x* t4 ]8 M你需要做两次,正常购买和红筹股另一个人购买
搜索:+ E$ ^5 f, j7 j, K' G: ^
8 U, M9 ~0 N: t2 e6 z2 \% C: V
邮编:
        ar >> cTab >> nId>> nNum >> dwItemId;
        if( cTab >=MAX_VENDOR_INVENTORY_TAB || nNum < 1 )

5 O5 I5 ^  ?- G& `4 U8 T( U8 U
       return;
后添加:
: s, _& O/ ~% h) B/ i0 B( D) M1 E; Y+ X
邮编:
        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;
! v3 `1 |+ G8 T% O& V; f
    }
并第一个评论, b4 T. N# j. x; b4 t# `
邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );- \0 |8 H- d* ^, n  k) z1 P1 S
你看在我的代码。
掌上崩溃:
/ k% W5 x! _+ a) u
. I0 ^' F) |( e: T) M$ N扰流板:/ n. r; ^2 l1 h& t

1 R8 ~# }6 q% r! {! i; m搜索:
: s5 h  k) H4 Z* L% V+ {# k" m5 R7 Z0 P; u8 M+ c+ z) ?: e
邮编:
               ar >> nPocket1>> nItem >> nNum >> nPocket2;
               if( nPocket1 ==nPocket2 )
7 X! N+ j4 e4 W4 j
           return;
后添加:+ S7 @+ Z/ W4 r4 p8 b% m- O

6 {1 ^# v. v% ~2 |7 J9 a邮编:
               //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;               }8 S# G: C+ J6 O
对不起,英语错误,因为我brazillian。
; _, W1 C0 c/ S: [4 U哎呀,我喜欢,如果有人traslate德语。
4 ^* \  ~6 P3 O" P  [; O+ qkkthxbye。

* S- s. z1 c, E! [; k7 E
回复

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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