飞飞世界论坛

标题: 来源编辑:阻止崩溃的数据包。 [打印本页]

作者: admin    时间: 2016-1-10 03:29
标题: 来源编辑:阻止崩溃的数据包。
确定的家伙,因为我已经没有任何关系,我将释放如何阻止每次崩溃/欺骗数据包,并保存的ID /绰号的家伙试图您的服务器崩溃。
% N# D$ w% r4 z2 ]
7 n( A* q5 W, L' s; D首先,你需要有VS.NET2003 Service Pack 1安装和飞飞来源。 0 D6 u5 i! l7 b4 v# l. I# Y
( U: G, f1 R2 c& f! w
为了阻止这些数据包,您需要打开位于worldserver文件夹的DPServer.cpp
2 k% o% v/ Z/ U% G% y) A3 L0 ^; a, [
Equipament崩溃: 8 G! q& o7 P8 v1 N& R2 j
扰流板: $ ]0 u6 f" q7 }$ D

5 q3 @8 q3 X8 y- H/ X  l( k9 v- R) v搜索:
3 V% R) X8 \9 u: PCode:
       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 );
你看到在我的代码。
1 |1 d9 b3 `0 @% {# ?. [2 A- Y5 u" Y7 m! I3 s
5 _: ]: g3 a# L5 C
购买崩溃: 9 ^* N: _" v- M. l4 r
扰流板:
* l' p' V0 Y) }  n5 {# w* G& _" O& P! f5 K9 ~# s& v, N
YOU NEED TO DO IT TWICE, ONE FOR NORMAL BUYSAND ANOTHER FOR RED CHIPS BUYS
(你需要做两次,正常购买和红筹股另一个人购买)
# F1 T  B# k4 O* S: t# I2 {
寻找
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 );
你看到在我的代码。 / n7 G0 V; f6 c: r
; S# h$ ^, s3 y* W
0 n3 ^' P% U1 ^1 R' i
掌上崩溃:
" s  V; l" E2 W+ R5 k3 H, K扰流板:
5 ^- H. H  M7 z7 Z3 a& r2 E$ w2 Z( w5 \# {# X
搜索:
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;
              }
4 @# J' V. k2 Z1 l* j8 G

- h7 i; y, {6 ~5 m4 z对不起英文错误,因为我brazillian . N: z: Q1 O* p+ Y  {& b  b1 v$ Q
kkthxbye 4 g2 I6 U. L( j: i

" P) e; @* M4 Z! j2 t  M

; h* p9 c2 g. `! R7 d' j




欢迎光临 飞飞世界论坛 (http://ffwold.com/) Powered by Discuz! X3.2