飞飞世界论坛
标题: 来源编辑:阻止崩溃的数据包。 [打印本页]
作者: admin 时间: 2016-1-10 03:29
标题: 来源编辑:阻止崩溃的数据包。
确定的家伙,因为我已经没有任何关系,我将释放如何阻止每次崩溃/欺骗数据包,并保存的ID /绰号的家伙试图您的服务器崩溃。
# n7 m0 j. Z4 G+ L
5 G4 D- H4 k* z8 y首先,你需要有VS.NET2003 Service Pack 1安装和飞飞来源。
6 R& e F6 I# X# Q7 j
3 B* ]. \" |5 s3 @% i- B+ N为了阻止这些数据包,您需要打开位于worldserver文件夹的DPServer.cpp。
+ y4 s3 J0 L. J5 p S4 ]7 ]4 e' j7 z: a+ F5 K5 T
Equipament崩溃: ( J# O; W8 ]6 r9 E# Y0 J
扰流板: ' u+ c! [, B6 P Z
. A( p/ g; {+ e; J; t6 d搜索: & M% S% ~. u# \7 G
Code:
ar>> dwData >> objid >> nPart;
if(nPart >= MAX_HUMAN_PARTS )
return;
后添加:
Code:
CUser*pUser = g_UserMng.GetUser( dpidCache, dpidUser );
//Crashpacket
if( nPart > 30 || dwData < 0 || nPart < -1) {
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;
}
和评论的第一
Code:
CUser* pUser = g_UserMng.GetUser(dpidCache, dpidUser );
你看到在我的代码。
$ E6 r# ?% Z5 h3 O* ^3 i" U
" M% s( ]! z: e u2 I- v- H* d# y4 s- X5 e- x5 q
购买崩溃: 9 F, t$ @, c9 a: H
扰流板:
/ M* M0 B7 j: u3 b" x9 o9 S. x5 @0 p" W( M/ h) s, I/ m A
YOU NEED TO DO IT TWICE, ONE FOR NORMAL BUYSAND ANOTHER FOR RED CHIPS BUYS
(你需要做两次,正常购买和红筹股另一个人购买)
3 ]2 d7 _% J* [' N* W# B6 o a寻找
Code:
ar>> cTab >> nId >> nNum >> dwItemId;
if(cTab >= MAX_VENDOR_INVENTORY_TAB || nNum < 1 )
return;
然后添加
Code:
CUser*pUser = g_UserMng.GetUser( dpidCache,dpidUser );
//CRASH
if(cTab < 0 || nId < 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;
}
和评论的第一
Code:
CUser* pUser = g_UserMng.GetUser( dpidCache,dpidUser );
你看到在我的代码。 0 B5 ~! O; ~5 u3 b7 W; Z
4 O, t6 ~0 S- U, J' s u, |. e! _4 z, V a& }" L1 H! E
掌上崩溃:
, O2 C( {) B6 r/ P, F7 k( q4 s# q [1 N扰流板: 5 q& t; O! ^, q6 F0 g. R2 O
9 P! r5 h2 Q+ N8 \搜索:
Code:
ar>> nPocket1 >> nItem >> nNum >> nPocket2;
if(nPocket1 == nPocket2 )
return;
然后添加
Code:
//DUPECODE
if(nNum <= 0 ) {
Error("CDPSrvr::OnMoveItemOnPocket : Dupe Try -> [Player ID: %07d], [PlayerName: %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], [PlayerName: %s], [Packet used: %d,%d,%d,%d]",
pUser->m_idPlayer,pUser->GetName(), nPocket1, nItem, nNum, nPocket2 );
return;
}
1 V# r8 {2 E5 j5 ~# Y% p4 U
0 K- o! n6 @+ M5 J+ Y对不起英文错误,因为我brazillian。
. j: j1 d" V3 O- F1 m4 V1 ikkthxbye。 / X3 l% f: X/ X; Y$ ~ [
' j) S6 K- k. b# [6 H5 C
( u* e: }# R* E: M1 e+ t
| 欢迎光临 飞飞世界论坛 (http://www.ffwold.com/) |
Powered by Discuz! X3.2 |