Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

[LEAK] MapleStory Korea Test v.1029 raw EXE w/ debuggables

Skilled Illusionist
Joined
Apr 26, 2015
Messages
302
Reaction score
77
Could someone provide a link to KMS v1029 setup?
 
Junior Spellweaver
Joined
Dec 9, 2011
Messages
156
Reaction score
39


after doing this i remembered why i hate this crappy game lol.

Code:
.text:006EC185 loc_6EC185:                             ; CODE XREF: CClientSocket::Connect(sockaddr_in const *)+1C2j
.text:006EC185 cmp     eax, ecx
.text:006EC187 jbe     loc_6EC197
.text:006EC18D sub     eax, 4
.text:006EC190 mov     [eax], ebx
.text:006EC192 jmp     loc_6EC185
.text:006EC197 ; ---------------------------------------------------------------------------
.text:006EC197
.text:006EC197 loc_6EC197:                             ; CODE XREF: CClientSocket::Connect(sockaddr_in const *)+1B7j
.text:006EC197 xor     eax, eax
.text:006EC199 xor     ecx, ecx
.text:006EC19B retn
this Ducking stack murdering poop is littered everywhere, when the hell did they start doing this?
As far as i can remember I have seen this in GMS v91 (Oldest version I have unpacked and analyzed) but i am pretty sure they have been pasting this naked asm thingy since they started using winlicense . It just washes out the stack to stop reversers from forensic debugging

In details :
Code:
xor     ebx, ebx
xor     edx, edx
xor     esi, esi
xor     edi, edi
xor     ebp, ebp

Makes all the registers 0, ebp being base register one cannot even trace back to the last known working function.
Code:
mov     eax, large fs:18h
mov     ecx, [eax+8]
mov     eax, [eax+4]
1st gets linear address of the TIB, then gets lower ceiling and next the upper ceiling

Code:
cmp     eax, ecx
jbe     label
sub     eax, 4
mov     [eax], ebx
jmp     loc_6EC185
.
label:
xor     eax, eax
xor     ecx, ecx
retn // no where to retn. Its invalid address.
Loop to zero out whole stack
 
Last edited:
Newbie Spellweaver
Joined
Aug 30, 2014
Messages
56
Reaction score
31
Could someone provide a link to KMS v1029 setup?

No someone cant, because no one has it, so stop asking. Maybe if you suck spadow's penis on tumblr. He has a thing for big bootyed latinos [OK face emoji]
 
Skilled Illusionist
Joined
Apr 26, 2015
Messages
302
Reaction score
77
No someone cant, because no one has it, so stop asking. Maybe if you suck spadow's penis on tumblr. He has a thing for big bootyed latinos [OK face emoji]

Come on, go have some education. What kind of person you are? A 10 years boy? Anyways, did you sucked him to know that?
Sorry moderator, i had to say this.

@Now, on topic..

I will try to download current KMS version and play around with OllyDbg.
 
Everything is possible~
Loyal Member
Joined
Jan 9, 2008
Messages
818
Reaction score
847


after doing this i remembered why i hate this crappy game lol.

Code:
.text:006EC185 loc_6EC185:                             ; CODE XREF: CClientSocket::Connect(sockaddr_in const *)+1C2j
.text:006EC185 cmp     eax, ecx
.text:006EC187 jbe     loc_6EC197
.text:006EC18D sub     eax, 4
.text:006EC190 mov     [eax], ebx
.text:006EC192 jmp     loc_6EC185
.text:006EC197 ; ---------------------------------------------------------------------------
.text:006EC197
.text:006EC197 loc_6EC197:                             ; CODE XREF: CClientSocket::Connect(sockaddr_in const *)+1B7j
.text:006EC197 xor     eax, eax
.text:006EC199 xor     ecx, ecx
.text:006EC19B retn
this Ducking stack murdering poop is littered everywhere, when the hell did they start doing this?

Code:
.text:006ED6A8
.text:006ED6A8 loc_6ED6A8:                             ; CODE XREF: CClientSocket::SendPacket(COutPacket const &)+179j
.text:006ED6A8                 push    eax
.text:006ED6A9                 push    ebx
.text:006ED6AA                 xor     eax, eax
.text:006ED6AC                 xor     ebx, ebx
.text:006ED6AE                 mov     eax, [ebp+4]
.text:006ED6B1                 mov     [ebp+dwRetAddr], eax
.text:006ED6B4                 mov     ebx, 231457h
.text:006ED6B9                 add     ebx, 1CFBA9h
.text:006ED6BF                 cmp     ebx, eax
.text:006ED6C1                 jg      short _BYE_HACKER
.text:006ED6C3                 mov     ebx, [ebp+dwCodeEnd]
.text:006ED6C6                 cmp     eax, ebx
.text:006ED6C8                 jg      short _BYE_HACKER
.text:006ED6CA                 pop     ebx
.text:006ED6CB                 pop     eax
.text:006ED6CC                 jmp     short _BYE
.text:006ED6CE ; ---------------------------------------------------------------------------
.text:006ED6CE
.text:006ED6CE _BYE_HACKER:                            ; CODE XREF: CClientSocket::SendPacket(COutPacket const &)+1C1j
.text:006ED6CE                                         ; CClientSocket::SendPacket(COutPacket const &)+1C8j
.text:006ED6CE                 push    0
.text:006ED6D0                 retn
.text:006ED6D1 ; ---------------------------------------------------------------------------
.text:006ED6D1
.text:006ED6D1 _BYE:                                   ; CODE XREF: CClientSocket::SendPacket(COutPacket const &)+1CCj
.text:006ED6D1                 mov     eax, [ebp+dwRetAddr]
.text:006ED6D4                 mov     ?g_dwRetAddr@@3KA, eax ; ulong g_dwRetAddr
.text:006ED6D9                 mov     ecx, [ebp+dwRetAddr]
.text:006ED6DC                 movzx   edx, byte ptr [ecx]
.text:006ED6DF                 cmp     edx, 0C3h
.text:006ED6E5                 jnz     short loc_6ED714
.text:006ED6E7                 xor     ebx, ebx
.text:006ED6E9                 xor     edx, edx
.text:006ED6EB                 xor     esi, esi
.text:006ED6ED                 xor     edi, edi
.text:006ED6EF                 xor     ebp, ebp
.text:006ED6F1                 mov     eax, large fs:18h
.text:006ED6F7                 mov     ecx, [eax+8]
.text:006ED6FA                 mov     eax, [eax+4]
.text:006ED6FD
.text:006ED6FD loc_6ED6FD:                             ; CODE XREF: CClientSocket::SendPacket(COutPacket const &)+20Aj
.text:006ED6FD                 cmp     eax, ecx
.text:006ED6FF                 jbe     loc_6ED70F
.text:006ED705                 sub     eax, 4
.text:006ED708                 mov     [eax], ebx
.text:006ED70A                 jmp     loc_6ED6FD
.text:006ED70F ; ---------------------------------------------------------------------------
.text:006ED70F
.text:006ED70F loc_6ED70F:                             ; CODE XREF: CClientSocket::SendPacket(COutPacket const &)+1FFj
.text:006ED70F                 xor     eax, eax
.text:006ED711                 xor     ecx, ecx
.text:006ED713                 retn

I think they are onto us
 
Newbie Spellweaver
Joined
Aug 12, 2012
Messages
22
Reaction score
45


after doing this i remembered why i hate this crappy game lol.

Code:
.text:006EC185 loc_6EC185:                             ; CODE XREF: CClientSocket::Connect(sockaddr_in const *)+1C2j
.text:006EC185 cmp     eax, ecx
.text:006EC187 jbe     loc_6EC197
.text:006EC18D sub     eax, 4
.text:006EC190 mov     [eax], ebx
.text:006EC192 jmp     loc_6EC185
.text:006EC197 ; ---------------------------------------------------------------------------
.text:006EC197
.text:006EC197 loc_6EC197:                             ; CODE XREF: CClientSocket::Connect(sockaddr_in const *)+1B7j
.text:006EC197 xor     eax, eax
.text:006EC199 xor     ecx, ecx
.text:006EC19B retn
this Ducking stack murdering poop is littered everywhere, when the hell did they start doing this?

when you hackers start raping the client :D
 
Newbie Spellweaver
Joined
Jul 26, 2016
Messages
12
Reaction score
0
Do you still have kmst 1029 full client? if you do so can you please share?
 
Skilled Illusionist
Joined
Apr 26, 2015
Messages
302
Reaction score
77
Does anyone have the wz files that run with this leaked client?
 
Initiate Mage
Joined
Jan 16, 2021
Messages
2
Reaction score
0
I did it myself and woot cwvs does work

Code:
void __thiscall CWvsContext::OnPacket(CWvsContext *this, int nType, CInPacket *iPacket)
{
  if ( !*(TSingleton<CWvsApp>::ms_pInstance._m_pStr + 5) )
  {
    switch ( nType )
    {
      case 55:
        CWvsContext::OnInventoryOperation(this, iPacket);
        break;
      case 56:
        CWvsContext::OnInventoryGrow(this, iPacket);
        break;
      case 57:
        CWvsContext::OnStatChanged(this, iPacket);
        break;
      case 58:
        CWvsContext::OnTemporaryStatSet(this, iPacket);
        break;
      case 59:
        CWvsContext::OnTemporaryStatReset(this, iPacket);
        break;
      case 60:
        CWvsContext::OnForcedStatSet(this, iPacket);
        break;
      case 61:
        CWvsContext::OnForcedStatReset(this, iPacket);
        break;
      case 62:
        CWvsContext::OnChangeSkillRecordResult(this, iPacket);
        break;
      case 63:
        CWvsContext::OnChangeStealMemoryResult(this, iPacket);
        break;
      case 64:
        CWvsContext::OnUserDamageOnFallingCheck(this, iPacket);
        break;
      case 65:
        CWvsContext::OnPersonalShopBuyCheck(this, iPacket);
        break;
      case 66:
        CWvsContext::OnMobDropMesoPickup(this, iPacket);
        break;
      case 67:
        CWvsContext::OnBreakTimeFieldEnter(this, iPacket);
        break;
      case 68:
        CWvsContext::OnRuneActSuccess(this, iPacket);
        break;
      case 70:
        CWvsContext::OnSkillUseResult(this, iPacket);
        break;
      case 71:
        CWvsContext::OnExclRequest(this, iPacket);
        break;
      case 72:
        CWvsContext::OnGivePopularityResult(this, iPacket);
        break;
      case 97:
        CWvsContext::OnCharacterInfo(this, iPacket);
        break;
      case 98:
        CWvsContext::OnPartyResult(this, iPacket);
        break;
      case 99:
        CWvsContext::OnPartyMemberCandidateResult(this, iPacket);
        break;
      case 100:
        CWvsContext::OnUrusPartyMemberCandidateResult(this, iPacket);
        break;
      case 101:
        CWvsContext::OnPartyCandidateResult(this, iPacket);
        break;
      case 103:
        CWvsContext::OnIntrusionFriendCandidateResult(this, iPacket);
        break;
      case 104:
        CWvsContext::OnIntrusionLobbyCandidateResult(this, iPacket);
        break;
      case 106:
        CWvsContext::OnExpedtionResult(this, iPacket);
        break;
      case 102:
        CWvsContext::OnUrusPartyResult(this, iPacket);
        break;
      case 111:
        CWvsContext::OnGuildResult(this, iPacket);
        break;
      case 110:
        CWvsContext::OnGuildRequest(this, iPacket);
        break;
      case 112:
        CWvsContext::OnAllianceResult(this, iPacket);
        break;
      case 107:
        CWvsContext::OnFriendResult(this, iPacket);
        break;
      case 108:
        CWvsContext::OnStarFriendResult(this, iPacket);
        break;
      case 109:
        CWvsContext::OnLoadAccountIDOfCharacterFriendResult(this, iPacket);
        break;
      case 113:
        CWvsContext::OnTownPortal(this, iPacket);
        break;
      case 114:
        CWvsContext::OnBroadcastMsg(this, iPacket);
        break;
      case 115:
        if ( TSingleton<CAswanTimeTableManClient>::ms_pInstance )
          CAswanTimeTableManClient::OnPacket(TSingleton<CAswanTimeTableManClient>::ms_pInstance, iPacket);
        break;
      case 73:
        CWvsContext::OnMessage(this, iPacket);
        break;
      case 74:
        CWvsContext::OnMemoResult(this, iPacket);
        break;
      case 75:
        CWvsContext::OnMapTransferResult(this, iPacket);
        break;
      case 76:
        CWvsContext::OnAntiMacroResult(this, iPacket);
        break;
      case 77:
        CWvsContext::OnAntiMacroBombResult(this, iPacket);
        break;
      case 84:
        CWvsContext::OnQuestClear(this, iPacket);
        break;
      case 79:
        CWvsContext::OnClaimResult(this, iPacket);
        break;
      case 80:
        CWvsContext::OnSetClaimSvrAvailableTime(this, iPacket);
        break;
      case 81:
        CWvsContext::OnClaimSvrStatusChanged(this, iPacket);
        break;
      case 82:
        CWvsContext::OnStarPlanetUserCount(this, iPacket);
        break;
      case 85:
        CWvsContext::OnEntrustedShopCheckResult(this, iPacket);
        break;
      case 116:
        CWvsContext::OnIncubatorResult(this, iPacket);
        break;
      case 117:
        CWvsContext::OnIncubatorHotItemResult(this, iPacket);
        break;
      case 118:
        CWvsContext::OnShopScannerResult(this, iPacket);
        break;
      case 119:
        CWvsContext::OnShopLinkResult(this, iPacket);
        break;
      case 120:
        CWvsContext::OnAuctionResult(this, iPacket);
        break;
      case 121:
        CWvsContext::OnAuctionMessage(this, iPacket);
        break;
      case 126:
        CWvsContext::OnCashPetFoodResult(this, iPacket);
        break;
      case 127:
        CWvsContext::OnCashPetPickUpOnOffResult(this, iPacket);
        break;
      case 128:
        CWvsContext::OnCashPetSkillSettingResult(this, iPacket);
        break;
      case 129:
        CWvsContext::OnCashLookChangeResult(this, iPacket);
        break;
      case 130:
        CWvsContext::OnCashPetDyeingResult(this, iPacket);
        break;
      case 83:
        CWvsContext::OnSetTamingMobInfo(this, iPacket);
        break;
      case 86:
        CWvsContext::OnSkillLearnItemResult(this, iPacket);
        break;
      case 87:
        CWvsContext::OnSkillResetItemResult(this, iPacket);
        break;
      case 88:
        CWvsContext::OnAbilityResetItemResult(this, iPacket);
        break;
      case 89:
        CWvsContext::OnExpConsumeItemResult(this, iPacket);
        break;
      case 90:
        CWvsContext::OnExpItemGetResult(this, iPacket);
        break;
      case 91:
        CWvsContext::OnCharSlotIncResult(this, iPacket);
        break;
      case 287:
        CWvsContext::OnPendantSlotIncResult(this, iPacket);
        break;
      case 92:
        CWvsContext::OnCharRenameResult(this, iPacket);
        break;
      case 93:
        CWvsContext::OnGatherItemResult(this, iPacket);
        break;
      case 94:
        CWvsContext::OnSortItemResult(this, iPacket);
        break;
      case 131:
        CWvsContext::OnSetWeekEventMessage(this, iPacket);
        break;
      case 132:
        CWvsContext::OnSetPotionDiscountRate(this, iPacket);
        break;
      case 134:
        CInPacket::Decode1(iPacket);
        break;
      case 135:
        CWvsContext::OnImitatedNPCData(this, iPacket);
        break;
      case 137:
        CWvsContext::OnLimitedNPCDisableInfo(this, iPacket);
        break;
      case 122:
        CWvsContext::OnMarriageRequest(this, iPacket);
        break;
      case 123:
        CWvsContext::OnMarriageResult(this, iPacket);
        break;
      case 124:
        CWvsContext::OnWeddingGiftResult(this, iPacket);
        break;
      case 125:
        CWvsContext::OnNotifyMarriedPartnerMapTransfer(this, iPacket);
        break;
      case 358:
        CWvsContext::OnMacroSysDataInit(this, iPacket);
        break;
      case 133:
        CWvsContext::OnBridleMobCatchFail(this, iPacket);
        break;
      case 138:
        CWvsContext::OnMonsterBookSetCard(this, iPacket);
        break;
      case 139:
        CWvsContext::OnMonsterBookSetCover(this, iPacket);
        break;
      case 140:
        CWvsContext::OnHourChanged(this, iPacket);
        break;
      case 141:
        CWvsContext::OnMiniMapOnOff(this, iPacket);
        break;
      case 142:
        CWvsContext::OnConsultAuthkeyUpdate(this, iPacket);
        break;
      case 143:
        CWvsContext::OnClassCompetitionAuthkeyUpdate(this, iPacket);
        break;
      case 144:
        CWvsContext::OnWebBoardAuthkeyUpdate(this, iPacket);
        break;
      case 145:
        CWvsContext::OnSessionValue(this, iPacket);
        break;
      case 148:
        CWvsContext::OnFieldValue(this, iPacket);
        break;
      case 146:
        CWvsContext::OnPartyValue(this, iPacket);
        break;
      case 147:
        CWvsContext::OnFieldSetVariable(this, iPacket);
        break;
      case 149:
        CWvsContext::OnBonusExpRateChanged(this, iPacket);
        break;
      case 150:
        CWvsContext::OnFamilyChartResult(this, iPacket);
        break;
      case 151:
        CWvsContext::OnFamilyInfoResult(this, iPacket);
        break;
      case 152:
        CWvsContext::OnFamilyResult(this, iPacket);
        break;
      case 153:
        CWvsContext::OnFamilyJoinRequest(this, iPacket);
        break;
      case 154:
        CWvsContext::OnFamilyJoinRequestResult(this, iPacket);
        break;
      case 155:
        CWvsContext::OnFamilyJoinAccepted(this, iPacket);
        break;
      case 156:
        CWvsContext::OnFamilyPrivilegeList(this, iPacket);
        break;
      case 157:
        CWvsContext::OnFamilyFamousPointIncResult(this, iPacket);
        break;
      case 158:
        CWvsContext::OnFamilyNotifyLoginOrLogout(this, iPacket);
        break;
      case 159:
        CWvsContext::OnFamilySetPrivilege(this, iPacket);
        break;
      case 160:
        CWvsContext::OnFamilySummonRequest(this, iPacket);
        break;
      case 161:
        CWvsContext::OnNotifyLevelUp(this, iPacket);
        break;
      case 162:
        CWvsContext::OnNotifyWedding(this, iPacket);
        break;
      case 163:
        CWvsContext::OnNotifyJobChange(this, iPacket);
        break;
      case 164:
        CWvsContext::OnSetBuyEquipExt(this, iPacket);
        break;
      case 166:
        CWvsContext::OnScriptProgressMessageBySoul(this, iPacket);
        break;
      case 167:
        CWvsContext::OnScriptProgressMessage(this, iPacket);
        break;
      case 168:
        CWvsContext::OnScriptProgressItemMessage(this, iPacket);
        break;
      case 169:
        CWvsContext::OnStaticScreenMessage(this, iPacket);
        break;
      case 170:
        CNoticeQuestProgress::OffStaticScreenMessage(this->m_pNoticeQuestProgress.p);
        break;
      case 171:
        CWvsContext::OnWeatherEffectNotice(this, iPacket);
        break;
      case 172:
        CWvsContext::OnWeatherEffectNoticeY(this, iPacket);
        break;
      case 173:
        CWvsContext::OnProgressMessageFont(this, iPacket);
        break;
      case 174:
        CWvsContext::OnDataCRCCheckFailed(this, iPacket);
        break;
      case 175:
        CWvsContext::OnShowSlotMessage(this, iPacket);
        break;
      case 165:
        CWvsContext::OnSetPassenserRequest(this, iPacket);
        break;
      case 176:
        CWvsContext::OnWildHunterInfo(this, iPacket);
        break;
      case 177:
        CWvsContext::OnZeroInfo(this, iPacket);
        break;
      case 178:
        CWvsContext::OnZeroWP(this, iPacket);
        break;
      case 179:
        CWvsContext::OnZeroInfoSubHP(this, iPacket);
        break;
      case 180:
        CWvsContext::UI_Open(this, 39, -1, 0, 0);
        break;
      case 181:
        CWvsContext::ClearAnnouncedQuest(this);
        break;
      case 182:
        CWvsContext::OnResultInstanceTable(this, iPacket);
        break;
      case 183:
        CWvsContext::OnCoolTimeSet(this, iPacket);
        break;
      case 184:
        CWvsContext::OnItemPotChange(this, iPacket);
        break;
      case 185:
        CWvsContext::OnSetItemCoolTime(this, iPacket);
        break;
      case 186:
        CWvsContext::OnSetAdDisplayInfo(this, iPacket);
        break;
      case 189:
        CWvsContext::OnSetMapleStyleInfo(this, iPacket);
        break;
      case 295:
        CWvsContext::OnSetCoordinationContestInfo(this, iPacket);
        break;
      case 187:
        CWvsContext::OnSetAdDisplayStatus(this, iPacket);
        break;
      case 188:
        CWvsContext::OnSetSonOfLinkedSkillResult(this, iPacket);
        break;
      case 190:
        CWvsContext::OnSetBuyLimitCount(this, iPacket);
        break;
      case 191:
        CWvsContext::OnResetBuyLimitCount(this, iPacket);
        break;
      case 192:
        CWvsContext::OnUpdateUIEventListInfo(this, iPacket);
        break;
      case 193:
        CWvsContext::OnDojangRankingResult(this, iPacket);
        break;
      case 248:
        CWvsContext::OnHalloweenCandyRankingResult(this, iPacket);
        break;
      case 194:
        if ( TSingleton<CUIFieldItem>::ms_pInstance )
          CUIFieldItem::OnPacket(iPacket);
        break;
      case 195:
        if ( TSingleton<CUIFieldItemInventory>::ms_pInstance )
          CUIFieldItemInventory::OnPacket(iPacket);
        break;
      case 197:
        CWvsContext::OnResultSetStealSkill(this, iPacket);
        break;
      case 69:
        CWvsContext::OnResultStealSkillList(this, iPacket);
        break;
      case 196:
        CWvsContext::OnShutdownMessage(this, iPacket);
        break;
      case 198:
        CWvsContext::OnSlashCommand(this, iPacket);
        break;
      case 199:
        CWvsContext::OnStartNavigation(this, iPacket);
        break;
      case 200:
        CWvsContext::OnFunckeySetByScript(this, iPacket);
        break;
      case 201:
        CWvsContext::OnCharacterPotentialSet(this, iPacket);
        break;
      case 202:
        CWvsContext::OnCharacterPotentialReset(this, iPacket);
        break;
      case 203:
        CWvsContext::OnCharacterHonorExp(this, iPacket);
        break;
      case 209:
        CWvsContext::OnCharacterHonorGift(this, iPacket);
        break;
      case 204:
        if ( TSingleton<CUIAswanState>::ms_pInstance )
          CUIAswanState::OnPacket(iPacket);
        break;
      case 205:
        CWvsContext::OnAswanResult(this, iPacket);
        break;
      case 206:
        CWvsContext::OnReadyForRespawn(this, iPacket);
        break;
      case 207:
        CWvsContext::OnReadyForRespawnByPoint(this, iPacket);
        break;
      case 208:
        CWvsContext::OpenReadyForRespawnUI(this, iPacket);
        break;
      case 210:
        CWvsContext::OnCrossHunterCompleteResult(this, iPacket);
        break;
      case 211:
        CWvsContext::OnCrossHunterShopResult(this, iPacket);
        break;
      case 212:
        CWvsContext::OnSetCashItemNotice(this, iPacket);
        break;
      case 213:
        CWvsContext::OnSetSpecialCashItem(this, iPacket);
        break;
      case 214:
        CWvsContext::OnShowEventNotice(this, iPacket);
        break;
      case 227:
        CWvsContext::OnSetMiracleTimeInfo(this, iPacket);
        break;
      case 256:
        CWvsContext::OnSetGachaponFeverTimeInfo(this, iPacket);
        break;
      case 215:
        CWvsContext::OnBoardGameResult(this, iPacket);
        break;
      case 216:
        CWvsContext::OnYutGameResult(this, iPacket);
        break;
      case 217:
        CWvsContext::OnValuePackResult(this, iPacket);
        break;
      case 219:
        CWvsContext::OnMapleStyleResult(this, iPacket);
        break;
      case 218:
        CWvsContext::OnNaviFlyingResult(this, iPacket);
        break;
      case 220:
        CWvsContext::OnCheckWeddingExResult(this, iPacket);
        break;
      case 221:
        CWvsContext::OnBingoResult(this, iPacket);
        break;
      case 222:
        CWvsContext::OnBingoCassandraResult(this, iPacket);
        break;
      case 223:
        CWvsContext::OnUpdateVIPGrade(this, iPacket);
        break;
      case 224:
        CWvsContext::OnMesoRangerResult(this, iPacket);
        break;
      case 225:
        CWvsContext::OnSetMaplePoint(this, iPacket);
        break;
      case 226:
        ADDITIONALCASHINFO::Decode(&this->m_AdditionalCashInfo, iPacket);
        break;
      case 228:
        CWvsContext::OnHyperSkillResetResult(this, iPacket);
        break;
      case 345:
        CWvsContext::OnReceiveHyperStatSkillResetResult(this, iPacket);
        break;
      case 232:
        CWvsContext::OnReturnEffectConfirm(this, iPacket);
        break;
      case 233:
        CWvsContext::OnReturnEffectModified(this, iPacket);
        break;
      case 237:
        CWvsContext::OnMemorialCubeModified(this, iPacket);
        break;
      case 238:
        CWvsContext::OnDressUpInfoModified(this, iPacket);
        break;
      case 229:
        CWvsContext::OnGetServerTime(this, iPacket);
        break;
      case 230:
        CWvsContext::OnGetCharacterPosition(this, iPacket);
        break;
      case 236:
        CWvsContext::OnMemorialCubeResult(this, iPacket);
        break;
      case 284:
        CWvsContext::OnChangeSoulCollectionResult(this, iPacket);
        break;
      case 285:
        CWvsContext::OnSelectSoulCollectionResult(this, iPacket);
        break;
      case 235:
        CWvsContext::OnBlackCubeResult(this, iPacket);
        break;
      case 234:
        CWvsContext::OnWhiteAddtionalCubeResult(this, iPacket);
        break;
      case 244:
        CWvsContext::OnActionBarResult(this, iPacket);
        break;
      case 245:
        if ( TSingleton<CUIGuildContentRank>::ms_pInstance )
          CUIGuildContentRank::OnPacket(TSingleton<CUIGuildContentRank>::ms_pInstance, iPacket);
        break;
      case 246:
        CWvsContext::OnGuildSearchResult(this, iPacket);
        break;
      case 247:
        if ( TSingleton<CUIButterFlyCustomize>::ms_pInstance )
          CUIButterFlyCustomize::OnPacket(TSingleton<CUIButterFlyCustomize>::ms_pInstance, iPacket);
        break;
      case 231:
        CWvsContext::OnSetFixDamage(this, iPacket);
        break;
      case 239:
        CWvsContext::OnResetOnStateForOnOffSkill(this, iPacket);
        break;
      case 240:
        CWvsContext::OnSetOffStateForOnOffSkill(this, iPacket);
        break;
      case 242:
        CWvsContext::OnAvatarPackTest(this, iPacket);
        break;
      case 243:
        CWvsContext::OnEvolvingResult(this, iPacket);
        break;
      case 241:
        CWvsContext::OnIssueReloginCookie(this, iPacket);
        break;
      case 249:
        CWvsContext::OnGetRewardResult(this, iPacket);
        break;
      case 250:
        CWvsContext::OnMentoring(this, iPacket);
        break;
      case 251:
        CWvsContext::OnGetLotteryResult(this, iPacket);
        break;
      case 252:
        CWvsContext::OnCheckProcessResult(this, iPacket);
        break;
      case 253:
        CWvsContext::OnCompleteNpcSpeechSuccess(this, iPacket);
        break;
      case 254:
        CWvsContext::OnCompleteSpecialCheckSuccess(this, iPacket);
        break;
      case 257:
        CWvsContext::OnAvatarMegaphoneRes(this, iPacket);
        break;
      case 258:
        CWvsContext::OnSetAvatarMegaphone(this, iPacket);
        break;
      case 259:
        CWvsContext::OnClearAvatarMegaphone(this, iPacket);
        break;
      case 260:
        CWvsContext::OnRequestEventList(this, iPacket);
        break;
      case 261:
        CWvsContext::OnLikePoint(this, iPacket);
        break;
      case 262:
        CWvsContext::OnSignErrorAck(this, iPacket);
        break;
      case 263:
        CWvsContext::OnAskAfterErrorAck(this, iPacket);
        break;
      case 264:
        CWvsContext::OnEventNameTag(this, iPacket);
        break;
      case 265:
        CWvsContext::OnAcquireEventNameTag(this, iPacket);
        break;
      case 266:
        CWvsContext::OnJobFreeChangeResult(this, iPacket);
        break;
      case 267:
        CWvsContext::OnEventLotteryOpen(this, iPacket);
        break;
      case 268:
        CWvsContext::OnEventLotteryResult(this, iPacket);
        break;
      case 276:
        CWvsContext::OnScreenMsg(this, iPacket);
        break;
      case 277:
        CWvsContext::OnTradeBlockForSnapShot(this, iPacket);
        break;
      case 278:
        CWvsContext::OnLimitGoodsNoticeResult(this, iPacket);
        break;
      case 279:
        CWvsContext::OnMonsterBattleSystemResult(this, iPacket);
        break;
      case 280:
        CWvsContext::OnMonsterBattleCombatResult(this, iPacket);
        break;
      case 281:
        CWvsContext::OnUniverseBossPossible(this, iPacket);
        break;
      case 282:
        CWvsContext::OnUniverseBossImpossible(this, iPacket);
        break;
      case 283:
        CWvsContext::OnCashShopPreviewInfo(this, iPacket);
        break;
      case 286:
        CWvsContext::OnMasterPieceReward(this, iPacket);
        break;
      case 288:
        CWvsContext::OnBossArenaMatchSuccess(this, iPacket);
        break;
      case 289:
        CWvsContext::OnBossArenaMatchFail(this, iPacket);
        break;
      case 290:
        CWvsContext::OnBossArenaMatchRequestDone(this, iPacket);
        break;
      case 291:
        CWvsContext::OnUserSoulMatching(this, iPacket);
        break;
      case 292:
        CWvsContext::OnCatapultUpgradeSkill(this, iPacket);
        break;
      case 293:
        CWvsContext::OnCatapultResetSkill(this, iPacket);
        break;
      case 294:
        CWvsContext::OnPartyQuestRankingResult(this, iPacket);
        break;
      case 296:
        CWvsContext::OnWorldTransferResult(this, iPacket);
        break;
      case 297:
        CWvsContext::OnTrunkSlotIncResult(this, iPacket);
        break;
      case 300:
        CWvsContext::OnNotifyWorldTransferHelper(this, iPacket);
        break;
      case 298:
        CWvsContext::OnEliteMobWMI(this, iPacket);
        break;
      case 299:
        CWvsContext::OnRandomPortalNotice(this, iPacket);
        break;
      case 301:
        if ( TSingleton<CUIEquipmentEnchant>::ms_pInstance )
          CUIEquipmentEnchant::OnPacket(TSingleton<CUIEquipmentEnchant>::ms_pInstance, iPacket);
        break;
      case 303:
        CWvsContext::OnFriendTowerRankResult(this, iPacket);
        break;
      case 302:
        CWvsContext::OnTopTowerRankResult(this, iPacket);
        break;
      case 304:
        CWvsContext::OnTowerResultUIOpen(this, iPacket);
        break;
      case 305:
        CWvsContext::OnMannequinResult(this, iPacket);
        break;
      case 306:
        CWvsContext::OnIronBoxPacket(this, iPacket);
        break;
      case 307:
        CWvsContext::OnCreateKoreanJumpingGame(this, iPacket);
        break;
      case 308:
        CWvsContext::OnCreateSwingGame(this, iPacket);
        break;
      case 309:
        CWvsContext::OnUpdateMapleTVShowTime(this, iPacket);
        break;
      case 310:
        CWvsContext::OnReturnToTitle(this, iPacket);
        break;
      case 311:
        CWvsContext::OnReturnToCharacterSelect(this, iPacket);
        break;
      case 312:
        CWvsContext::OnFlameWizardFlameWalkEffect(this, iPacket);
        break;
      case 313:
        CWvsContext::OnFlameWizardFlareBlink(this, iPacket);
        break;
      case 314:
        CWvsContext::OnSummonedAvatarSync(this, iPacket);
        break;
      case 315:
        CWvsContext::OnCashShopEventInfo(this, iPacket);
        break;
      case 316:
        CWvsContext::OnBlackList(this, iPacket);
        break;
      case 322:
        CWvsContext::OnUIStarPlanetMiniGameResult(this, iPacket);
        break;
      case 323:
        CWvsContext::OnUIStarPlanetTrendShop(this, iPacket);
        break;
      case 324:
        CWvsContext::OnUIStarPlanetMiniGameQueue(this, iPacket);
        break;
      case 317:
        CWvsContext::OnOpenUITest(this, iPacket);
        break;
      case 318:
        this->m_bBlackListView = this->m_bBlackListView == 0;
        break;
      case 319:
        CWvsContext::OnScrollUpgradeFeverTime(this, iPacket);
        break;
      case 320:
        CWvsContext::OnTextEquipInfo(this, iPacket);
        break;
      case 321:
        CWvsContext::OnTextEquipUIOpen(this, iPacket);
        break;
      case 326:
        CWvsContext::OnStarPlanetRoundInfo(this, iPacket);
        break;
      case 327:
        CWvsContext::OnStarPlanetResult(this, iPacket);
        break;
      case 328:
        CWvsContext::OnBackSpeedCtrl(this, iPacket);
        break;
      case 329:
        CWvsContext::OnSetMazeArea(this, iPacket);
        break;
      case 330:
        CWvsContext::OnCharacterBurning(this, iPacket);
        break;
      case 331:
        CWvsContext::OnBattleStatCoreInfo(this, iPacket);
        break;
      case 332:
        CWvsContext::OnBattleStatCoreAck(this, iPacket);
        break;
      case 333:
        CWvsContext::OnGachaponTestResult(this, iPacket);
        break;
      case 334:
        CWvsContext::OnMasterPieceTestResult(this, iPacket);
        break;
      case 335:
        CWvsContext::OnRoyalStyleTestResult(this, iPacket);
        break;
      case 336:
        CWvsContext::OnBeautyCouponTestResult(this, iPacket);
        break;
      case 337:
        CWvsContext::OnNickSkillExpired(this, iPacket);
        break;
      case 338:
        CWvsContext::OnRandomMissionResult(this, iPacket);
        break;
      case 341:
        CWvsContext::OnItemCollectionResult(this, iPacket);
        break;
      case 342:
        CWvsContext::OnCheckCollectionCompleteResult(this, iPacket);
        break;
      case 343:
        CWvsContext::OnItemCollectionList(this, iPacket);
        break;
      case 339:
        CWvsContext::On12thTresureResult(this, iPacket);
        break;
      case 340:
        CWvsContext::On12thTresureBuff(this, iPacket);
        break;
      case 344:
        CWvsContext::OnReceiveToadsHammerRequestResult(this, iPacket);
        break;
      case 255:
        CWvsContext::OnSetAccountInfo(this, iPacket);
        break;
      case 346:
        CWvsContext::OnInventoryOperationResult(this, iPacket);
        break;
      case 347:
        CWvsContext::OnGetSavedUrusSkill(this, iPacket);
        break;
      case 353:
        CWvsContext::OnCharacterModified(this, iPacket);
        break;
      case 348:
        CWvsContext::OnSetRolePlayingCharacterInfo(this, iPacket);
        break;
      case 349:
        CWvsContext::OnMVPAlarm(this, iPacket);
        break;
      case 351:
        CWvsContext::OnTowerChairSettingResult(this, iPacket);
        break;
      case 350:
        CWvsContext::OnMonsterCollectionResult(this, iPacket);
        break;
      case 352:
        CWvsContext::OnNeedClientResponse(this, iPacket);
        break;
      case 354:
        CWvsContext::OnTradeKingShopItem(this, iPacket);
        break;
      case 355:
        CWvsContext::OnTradeKingShopRes(this, iPacket);
        break;
      case 356:
        CWvsContext::OnPlatFormarEnterResult(this, iPacket);
        break;
      case 357:
        CWvsContext::OnPlatFormarOxyzen(this, iPacket);
        break;
      default:
        break;
    }
    if ( nType == 98 && TSingleton<CUIMiniMap>::ms_pInstance.m_pInterface )
      CUIMiniMap::ResetIntrusionOpen(TSingleton<CUIMiniMap>::ms_pInstance.m_pInterface);
    if ( TSingleton<CInvasionSupportMan>::ms_pInstance )
    {
      switch ( nType )
      {
        case 269:
          CInvasionSupportMan::OnInvasionSupportStateChange(TSingleton<CInvasionSupportMan>::ms_pInstance, iPacket);
          break;
        case 270:
          CInvasionSupportMan::OnInvasionSupportAttackResult(TSingleton<CInvasionSupportMan>::ms_pInstance, iPacket);
          break;
        case 271:
          CInvasionSupportMan::OnBossKillResult(TSingleton<CInvasionSupportMan>::ms_pInstance, iPacket);
          break;
        case 272:
          CInvasionSupportMan::OnInvasionSupportSettingResult(TSingleton<CInvasionSupportMan>::ms_pInstance, iPacket);
          break;
        case 273:
          CInvasionSupportMan::OnInvasionElapsedTime(TSingleton<CInvasionSupportMan>::ms_pInstance, iPacket);
          break;
        case 274:
          CInvasionSupportMan::OnInvasionSystemMsg(TSingleton<CInvasionSupportMan>::ms_pInstance, iPacket);
          break;
        default:
          return;
      }
    }
  }
}

This uses IDA 6.8 which is available Here!!
Download :
Please upload the file again The link is invalid
 
Junior Spellweaver
Joined
Aug 13, 2009
Messages
124
Reaction score
123
As far as i can remember I have seen this in GMS v91 (Oldest version I have unpacked and analyzed) but i am pretty sure they have been pasting this naked asm thingy since they started using winlicense . It just washes out the stack to stop reversers from forensic debugging

In details :
Code:
xor     ebx, ebx
xor     edx, edx
xor     esi, esi
xor     edi, edi
xor     ebp, ebp

Makes all the registers 0, ebp being base register one cannot even trace back to the last known working function.
Code:
mov     eax, large fs:18h
mov     ecx, [eax+8]
mov     eax, [eax+4]
1st gets linear address of the TIB, then gets lower ceiling and next the upper ceiling

Code:
cmp     eax, ecx
jbe     label
sub     eax, 4
mov     [eax], ebx
jmp     loc_6EC185
.
label:
xor     eax, eax
xor     ecx, ecx
retn // no where to retn. Its invalid address.
Loop to zero out whole stack

Code:
#include <Windows.h>

int main()
{
    // Get a pointer to the TEB for the current thread
    PTEB pTeb = NtCurrentTeb();

    // Get a pointer to the context structure within the TEB
    PCONTEXT pContext = reinterpret_cast<PCONTEXT>(pTeb->TlsSlots[0]);

    // Set the values of the register members in the context structure to 0
    ZeroMemory(&pContext->Eax, sizeof(pContext->Eax));
    ZeroMemory(&pContext->Ebx, sizeof(pContext->Ebx));
    ZeroMemory(&pContext->Ecx, sizeof(pContext->Ecx));
    ZeroMemory(&pContext->Edx, sizeof(pContext->Edx));
    ZeroMemory(&pContext->Esi, sizeof(pContext->Esi));
    ZeroMemory(&pContext->Edi, sizeof(pContext->Edi));
    ZeroMemory(&pContext->Ebp, sizeof(pContext->Ebp));
    ZeroMemory(&pContext->Esp, sizeof(pContext->Esp));

    return 0;
}
 
Back
Top