飞飞世界论坛

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

阻止崩溃包。

[复制链接]

197

主题

203

帖子

1064

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1064
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:47:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
确定的家伙,因为我没有做,我会释放如何阻止每一个崩溃/欺骗包,并保存的ID/绰号的家伙试图您的服务器崩溃。- q% u- L" ^; {- q$ r! v
/ `" Y. N  t8 T$ Z" ]) ]
首先,你需要有VS.NET2003ServicePack 1安装和飞飞来源。
1 N) w7 \9 P6 \6 j. i+ F; H" N  j
为了阻止这些数据包,你需要打开上的worldserver文件夹位于DPServer.cpp。
& F8 }9 q5 `( ?! `. m9 O
' f" g1 y8 X" u" d- ~Equipament崩溃:
1 s/ L1 ^9 W& @3 s
8 ]4 P- J5 F1 h  A扰流板:
, |# Q' r9 q, B% D& P
& h$ A- z) D, O* @2 p+ B( w搜索:0 T4 k( T' q5 G4 E% y# A% D

- j, W9 p+ F2 i1 q邮编:
        ar >> dwData >>objid >> nPart;
        if( nPart >=MAX_HUMAN_PARTS )
. t7 S) ?8 @4 i4 F( S
       return;
后添加:
) {+ h% h  g. V! {) b. j2 Q
7 f$ {& t, ]' ^" N' n( c邮编:
        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;

5 s7 Y4 m! J7 L. }
    }
并第一个评论+ r' V7 P7 M0 v* S8 b. [/ X
邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
- h( m7 P. L+ y0 V3 y8 q5 J' D
你看在我的代码。" G3 \9 ]+ @! Y/ x9 E
, F1 d$ L. b0 ]) T- v
8 Y# G4 X) r8 g# b# L/ z! z
3 F- {* }  T# H+ }
购买崩溃:0 c/ J) I4 J( u8 ^
- [! u6 k8 M' e" [# o6 E; @5 c# R
扰流板:
" W( u: f+ ^- |
2 y. Y% [- G( k& y( b$ z$ ~) p- [2 j你需要做两次,正常购买和红筹股另一个人购买
搜索:
. F; A: S$ G+ V+ X( J
7 a! N1 G* ?6 w% p' l$ j邮编:
        ar >> cTab >> nId>> nNum >> dwItemId;
        if( cTab >=MAX_VENDOR_INVENTORY_TAB || nNum < 1 )
+ A9 r  x& s/ D
       return;
后添加:* F* c+ {" Y+ Y) O7 B! B$ Y4 O$ N

' _4 Y% z2 B+ u! j. v邮编:
        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;
" V5 d5 L' h& i! l( g% ^- ]
    }
并第一个评论3 o' T, L$ W1 H/ j7 \9 c' A  B
邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
- P) ]/ Q" i' `+ J- ^: |
你看在我的代码。
掌上崩溃:
8 L, g. T; e" _% b7 Z  B& O0 V% _
扰流板:; E; o( U" F" A) [# {

- o) @& c6 |/ q4 s+ K2 ~6 g8 i2 a搜索:6 X. e% w2 h. G# z7 E4 _( U1 Z
5 i; R$ d% h9 {6 |6 H& U* F
邮编:
               ar >> nPocket1>> nItem >> nNum >> nPocket2;
               if( nPocket1 ==nPocket2 )

; \$ y! V. y. U5 n! F, l5 P
           return;
后添加:
2 o( L/ M! M. D) B4 V7 L1 y  o* X# ^2 J$ R) b. `! X
邮编:
               //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;               }) V, i8 k2 ^, S
对不起,英语错误,因为我brazillian。
9 I: q3 F" [0 i$ u6 o哎呀,我喜欢,如果有人traslate德语。
! w: j& d9 U+ hkkthxbye。
- a6 `7 T8 i7 ^
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-3 07:04 , Processed in 0.086454 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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