飞飞世界论坛

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

阻止崩溃包。

[复制链接]

197

主题

203

帖子

1070

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1070
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:47:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
确定的家伙,因为我没有做,我会释放如何阻止每一个崩溃/欺骗包,并保存的ID/绰号的家伙试图您的服务器崩溃。+ s- V8 i3 g1 `5 W

$ q& t& A1 j0 c: X- ~: L" x8 ?! @首先,你需要有VS.NET2003ServicePack 1安装和飞飞来源。# F6 }5 l- p+ ?: `4 H
3 X9 e1 V; n. e4 |. [$ d
为了阻止这些数据包,你需要打开上的worldserver文件夹位于DPServer.cpp。
3 c4 W  @. e* V  ]- L! D6 D- d# z* h1 ?2 M' G9 Z
Equipament崩溃:: h$ X9 q3 w9 j

+ o7 s5 v* A$ g. O5 W$ J扰流板:; ~$ F; D9 f$ |3 g' V
$ f# J2 x9 d* v6 j: ~
搜索:* i8 D/ {) @4 Z  V7 u, t' M
( X! I0 }! n2 E2 _2 ~8 @6 |5 K4 \
邮编:
        ar >> dwData >>objid >> nPart;
        if( nPart >=MAX_HUMAN_PARTS )

" D+ o* Y0 t$ |- m! F2 O
       return;
后添加:
; [# t, o- P0 {3 ?2 B( o# w/ ]- p+ {& z8 F. Y& J
邮编:
        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 X+ F* k. G6 y8 `' E$ \: @
    }
并第一个评论
7 B9 R0 D+ k1 O- w邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
; [3 P9 c3 f: h- B
你看在我的代码。
) W- a6 ]6 v4 I. M' ]
. r8 n, r+ {( ^# T  S
' m( |7 e" ^# Q) O( m3 M
6 k9 Y0 @; P# S3 J8 U$ S8 R/ t7 u购买崩溃:! Q# s) `* |, A5 Z' p- D$ ~6 i$ d

3 ?6 H9 s+ H( S# O# z' g扰流板:
7 y# o- K; d0 o& ^* K3 o
* C; B  K9 Y. U& k9 U你需要做两次,正常购买和红筹股另一个人购买
搜索:2 N5 R, f$ b& l- D- }& S

/ H- r$ h% y1 Y# O8 W: r邮编:
        ar >> cTab >> nId>> nNum >> dwItemId;
        if( cTab >=MAX_VENDOR_INVENTORY_TAB || nNum < 1 )
: n$ k/ q) f. P$ L3 h
       return;
后添加:
' D! w9 n% n4 B( U! e
4 Z; g, y% q* L邮编:
        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;

! }  z: x; i0 D, E3 c+ n+ v, X
    }
并第一个评论
9 Z& S* P+ k; a$ U/ ^邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
1 w- i2 o0 Z) L4 R  N7 ]" w
你看在我的代码。
掌上崩溃:
! G- A+ Q  r# B6 k0 [, y( J
* H$ Y3 Z- W! k7 E0 Q+ K, Z扰流板:
# G0 Y1 w" e, M! x0 v: @! Q) {4 g) [; V: d8 O! _
搜索:
( q! _6 B- L. A+ F6 a+ t
4 v; K4 p0 q9 L# C7 }邮编:
               ar >> nPocket1>> nItem >> nNum >> nPocket2;
               if( nPocket1 ==nPocket2 )

' j, b( H1 k# H0 r! c
           return;
后添加:
& |  n! \3 q  |' a/ ?' }3 e/ f" o! J, ?. w
邮编:
               //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;               }; m5 w7 j: M* n! O
对不起,英语错误,因为我brazillian。( [) |% |! U/ x0 [, ~2 z. J
哎呀,我喜欢,如果有人traslate德语。
" U4 L+ L: |- T1 B' Ekkthxbye。
# d8 s; C$ y7 j$ w! {
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-3 16:16 , Processed in 0.057459 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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