飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:29
标题: 来源编辑:阻止崩溃的数据包。
确定的家伙,因为我已经没有任何关系,我将释放如何阻止每次崩溃/欺骗数据包,并保存的ID /绰号的家伙试图您的服务器崩溃。
1 O. Z+ u: s/ d/ [" j+ E2 T# Y, Z) ^  E. u: C8 Q3 M- m5 l
首先,你需要有VS.NET2003 Service Pack 1安装和飞飞来源。
: w2 D* u& D& a0 |4 Q
: T' [, Z% N& U+ m% d: i* l5 D为了阻止这些数据包,您需要打开位于worldserver文件夹的DPServer.cpp
3 m$ H1 D$ \5 q" e$ p
/ y# I7 ]* i- @6 c( S0 v3 zEquipament崩溃:
  @8 ?- H( V+ w% W' ?2 H+ ?扰流板:
* O. d/ B% g, U, U) _; u. ]' S3 E" r2 U5 h
搜索: & h/ }' Y  s6 w; I
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 );
你看到在我的代码。
& T6 M. c' r; [' V3 Z6 A1 t
( D8 Y# c( r! M/ {0 Q3 O3 K1 h) W! d: W) r
购买崩溃:
2 |- P- b  A- P) G/ M扰流板: ; [4 X9 D" c2 M3 V- j, a/ _

! v5 A7 A; U  k9 K4 GYOU NEED TO DO IT TWICE, ONE FOR NORMAL BUYSAND ANOTHER FOR RED CHIPS BUYS
(你需要做两次,正常购买和红筹股另一个人购买)
! a- K+ \8 C! t$ y
寻找
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 );
你看到在我的代码。
7 ^( o7 x: F# q; m" Z. R1 Q: ~- B- D( t8 J( T
$ R# v5 H9 z3 ?% D; Q
掌上崩溃:
+ I& c% g; o! v: W9 G+ {3 H# P扰流板:   C. @( e* p& `
7 G1 A1 V: y+ s' e2 E5 I  l( r; I, k
搜索:
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;
              }
6 b  U4 s5 Q+ q# s2 b. A6 w  S  P
' N3 g( E. K+ a/ @
对不起英文错误,因为我brazillian ) {  \. y  s2 o% S+ @
kkthxbye
/ U4 Y; o1 H9 Z$ i) Z% u
. I/ t- }! @( N' D" [
* B3 m' m. P' L5 P- L5 f: P! Z





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