飞飞世界论坛
标题: 来源编辑:阻止崩溃的数据包。 [打印本页]
作者: admin 时间: 2016-1-10 03:29
标题: 来源编辑:阻止崩溃的数据包。
确定的家伙,因为我已经没有任何关系,我将释放如何阻止每次崩溃/欺骗数据包,并保存的ID /绰号的家伙试图您的服务器崩溃。
C% L6 b2 T# |8 S+ n) N/ Z- i4 E" d' ?. w+ u, \9 e8 ^0 ?
首先,你需要有VS.NET2003 Service Pack 1安装和飞飞来源。
9 T: w$ o+ z" V. b X8 i' w2 h; ~3 z% y8 ^' g# F" t) m* a9 S7 }' ^
为了阻止这些数据包,您需要打开位于worldserver文件夹的DPServer.cpp。
1 ^7 H" A2 e: x) ]+ `$ n
9 }, p% \* ?) ~/ ?4 REquipament崩溃: % J/ T% p; k9 W/ ?1 E* |6 q+ g3 q0 h! v
扰流板: 8 b C$ v( V+ e: p4 i4 o! q/ O
7 H2 ?5 B% z0 _ W7 @. r
搜索: ) D" r: U5 g: H
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 );
你看到在我的代码。
Y, Q& _% L5 f
+ y8 p e! [* X' q/ ]7 z( E, l( L" G5 p$ W1 f" x- @
购买崩溃: / f2 M+ {6 U8 \: F9 L$ {, h3 }. Y$ B
扰流板:
" M" ^# H% V$ X1 j1 l. I# ?: L4 Q M) @: m: l, i. I
YOU NEED TO DO IT TWICE, ONE FOR NORMAL BUYSAND ANOTHER FOR RED CHIPS BUYS
(你需要做两次,正常购买和红筹股另一个人购买)
% _# ]* D% k# N8 ^寻找
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 );
你看到在我的代码。 " `) X2 f6 a- u5 @
9 ~8 ^/ z$ N/ n' F! P$ v
0 ~, D( Y: c2 g6 ]掌上崩溃: # \: e+ z$ M; E/ c# P3 C
扰流板:
; @5 l( |3 K8 `0 S# ]
. V7 v% Z2 x- a9 f# O+ S# G$ O搜索:
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;
}
* r2 _# y, t! j1 u3 D6 [$ N n
# G) i7 x7 Z/ X4 @8 T# ^6 {0 n对不起英文错误,因为我brazillian。 3 D: j7 W# N3 @, A/ A
kkthxbye。
# ~. W) l+ M2 M/ `" `3 k4 G" [
2 Z8 O- m% Y' J6 ~' O8 X- ~0 ~6 \
$ Z9 l; w+ S$ ~+ x
| 欢迎光临 飞飞世界论坛 (http://www.ffwold.com/) |
Powered by Discuz! X3.2 |