2 soc bug,exploit 5165 client Private servers

05/07/2012 09:11 Dragoniss#1
REMOVED
05/10/2012 18:01 bhavik210#2
lol does not work, when replacing the 2 socket item by the 1 socket, it removes the 2socket, then you have it blank all over again
05/11/2012 00:36 © Haydz#3
Obviously everyone knows this isn't possible, just thought I'd post the code behind it before anyone attempts it:

Code:
switch(nPos)
	{
	case 1:
		{
			IF_OK (GEM_HOLE == info.nGem1)
			{
				pItem->SetInt(ITEMDATA_GEM1, pGem->GetInt(ITEMDATA_TYPE)%1000);

				int nDurEffect = pItem->GetGemDurEffect(pGem->GetInt(ITEMDATA_TYPE));
				if (nDurEffect != 0)
				{
					int nDur = pItem->GetInt(ITEMDATA_AMOUNTLIMIT);
					pItem->SetInt(ITEMDATA_AMOUNTLIMIT, nDur*(100+nDurEffect)/100);
				}

				DEBUG_TRY		// VVVVVVVVVV
				pItem->SaveInfo();
				ASSERT(EraseItem(idGem, SYNCHRO_TRUE));
				DEBUG_CATCH("EmbedGem2")		// AAAAAAAAAAA
			}
		}
		break;

	case 2:
		{
			IF_OK (GEM_HOLE == info.nGem2)
			{
				pItem->SetInt(ITEMDATA_GEM2, pGem->GetInt(ITEMDATA_TYPE)%1000);

				int nDurEffect = pItem->GetGemDurEffect(pGem->GetInt(ITEMDATA_TYPE));
				if (nDurEffect != 0)
				{
					int nDur = pItem->GetInt(ITEMDATA_AMOUNTLIMIT);
					pItem->SetInt(ITEMDATA_AMOUNTLIMIT, nDur*(100+nDurEffect)/100);
				}

				DEBUG_TRY		// VVVVVVVVVV
				pItem->SaveInfo();
				ASSERT(EraseItem(idGem, SYNCHRO_TRUE));
				DEBUG_CATCH("EmbedGem2")		// AAAAAAAAAAA
			}
		}
		break;
If an exploit of this scale did exist, it would have been found years ago, at one point I picked the EO source apart looking for things to exploit.
05/11/2012 06:04 Dragoniss#4
Well i said this worked last September on Classic Conquer but it is fixed now. I didn't said it work everywhere i said it may work on some 5165. Maybe you right it is easy to see in code, but our server was wiped because every1 had lots of 2 soc items.
05/12/2012 00:07 pro4never#5
If any server coded their socketing this poorly... they should just give up already.