Prince* Posted April 5, 2011 Posted April 5, 2011 hallo all.. i search for this fix in forum and i don't have see this.. Exploit: [English]: http://maxcheaters.com/forum/index.php?topic=2826.0 [Greek]: http://maxcheaters.com/forum/index.php?topic=176746.0 The Fix Code: Index: /trunk/Gameserver/java/net/sf/l2j/gameserver/clientpackets/RequestHennaEquip.java =================================================================== --- /trunk/Gameserver/java/net/sf/l2j/gameserver/clientpackets/RequestHennaEquip.java (revision 14) +++ /trunk/Gameserver/java/net/sf/l2j/gameserver/clientpackets/RequestHennaEquip.java (revision 18) @@ -19,5 +19,7 @@ package net.sf.l2j.gameserver.clientpackets; +import net.sf.l2j.Config; import net.sf.l2j.gameserver.datatables.HennaTable; +import net.sf.l2j.gameserver.datatables.HennaTreeTable; import net.sf.l2j.gameserver.model.L2HennaInstance; import net.sf.l2j.gameserver.model.L2ItemInstance; @@ -27,4 +29,5 @@ import net.sf.l2j.gameserver.serverpackets.SystemMessage; import net.sf.l2j.gameserver.templates.L2Henna; +import net.sf.l2j.gameserver.util.Util; /** @@ -69,4 +72,22 @@ L2HennaInstance temp = new L2HennaInstance(template); int _count = 0; + + /** + * Prevents henna drawing exploit: + * 1) talk to L2SymbolMakerInstance + * 2) RequestHennaList + * 3) Don't close the window and go to a GrandMaster and change your subclass + * 4) Get SymbolMaker range again and press draw + * You could draw any kind of henna just having the required subclass... + */ + boolean cheater = true; + for (L2HennaInstance h : HennaTreeTable.getInstance().getAvailableHenna(activeChar.getClassId())) + { + if (h.getSymbolId() == temp.getSymbolId()) + { + cheater = false; + break; + } + } try{ @@ -75,5 +96,5 @@ catch(Exception e){} - if ((_count >= temp.getAmountDyeRequire())&& (activeChar.getAdena()>= temp.getPrice()) && activeChar.addHenna(temp)) + if (!cheater && (_count >= temp.getAmountDyeRequire())&& (activeChar.getAdena()>= temp.getPrice()) && activeChar.addHenna(temp)) { SystemMessage sm = new SystemMessage(SystemMessageId.S1_DISAPPEARED); @@ -98,4 +119,6 @@ { activeChar.sendPacket(new SystemMessage(SystemMessageId.CANT_DRAW_SYMBOL)); + if ((!activeChar.isGM()) && (cheater)) + Util.handleIllegalPlayerAction(activeChar, "Exploit attempt: Character "+activeChar.getName()+" of account "+activeChar.getAccountName()+" tryed to add a forbidden henna.",Config.DEFAULT_PUNISH); } } Credits: Fafoukas Quote
Prince* Posted April 5, 2011 Author Posted April 5, 2011 hallo all.. i search for this fix in forum and i don't have see this.. Exploit: [English]: http://maxcheaters.com/forum/index.php?topic=2826.0 [Greek]: http://maxcheaters.com/forum/index.php?topic=176746.0 The Fix Code: Index: /trunk/Gameserver/java/net/sf/l2j/gameserver/clientpackets/RequestHennaEquip.java =================================================================== --- /trunk/Gameserver/java/net/sf/l2j/gameserver/clientpackets/RequestHennaEquip.java (revision 14) +++ /trunk/Gameserver/java/net/sf/l2j/gameserver/clientpackets/RequestHennaEquip.java (revision 18) @@ -19,5 +19,7 @@ package net.sf.l2j.gameserver.clientpackets; +import net.sf.l2j.Config; import net.sf.l2j.gameserver.datatables.HennaTable; +import net.sf.l2j.gameserver.datatables.HennaTreeTable; import net.sf.l2j.gameserver.model.L2HennaInstance; import net.sf.l2j.gameserver.model.L2ItemInstance; @@ -27,4 +29,5 @@ import net.sf.l2j.gameserver.serverpackets.SystemMessage; import net.sf.l2j.gameserver.templates.L2Henna; +import net.sf.l2j.gameserver.util.Util; /** @@ -69,4 +72,22 @@ L2HennaInstance temp = new L2HennaInstance(template); int _count = 0; + + /** + * Prevents henna drawing exploit: + * 1) talk to L2SymbolMakerInstance + * 2) RequestHennaList + * 3) Don't close the window and go to a GrandMaster and change your subclass + * 4) Get SymbolMaker range again and press draw + * You could draw any kind of henna just having the required subclass... + */ + boolean cheater = true; + for (L2HennaInstance h : HennaTreeTable.getInstance().getAvailableHenna(activeChar.getClassId())) + { + if (h.getSymbolId() == temp.getSymbolId()) + { + cheater = false; + break; + } + } try{ @@ -75,5 +96,5 @@ catch(Exception e){} - if ((_count >= temp.getAmountDyeRequire())&& (activeChar.getAdena()>= temp.getPrice()) && activeChar.addHenna(temp)) + if (!cheater && (_count >= temp.getAmountDyeRequire())&& (activeChar.getAdena()>= temp.getPrice()) && activeChar.addHenna(temp)) { SystemMessage sm = new SystemMessage(SystemMessageId.S1_DISAPPEARED); @@ -98,4 +119,6 @@ { activeChar.sendPacket(new SystemMessage(SystemMessageId.CANT_DRAW_SYMBOL)); + if ((!activeChar.isGM()) && (cheater)) + Util.handleIllegalPlayerAction(activeChar, "Exploit attempt: Character "+activeChar.getName()+" of account "+activeChar.getAccountName()+" tryed to add a forbidden henna.",Config.DEFAULT_PUNISH); } } Credits: Fafoukas Quote
allanalcantara Posted April 5, 2011 Posted April 5, 2011 perfect share. thx you are tested? thi is work? Quote
allanalcantara Posted April 5, 2011 Posted April 5, 2011 perfect share. thx you are tested? thi is work? Quote
Kràtos Posted April 5, 2011 Posted April 5, 2011 this fix was on l2jarchid... i remember it wen i fix it... rofl p.s: booter get lost ... :) Quote
Kràtos Posted April 5, 2011 Posted April 5, 2011 this fix was on l2jarchid... i remember it wen i fix it... rofl p.s: booter get lost ... :) Quote
xAddytzu Posted April 6, 2011 Posted April 6, 2011 this fix was on l2jarchid... i remember it wen i fix it... rofl p.s: booter get lost ... :) Sure..Also I remember when you C/P from L2JServer oO Quote
xAddytzu Posted April 6, 2011 Posted April 6, 2011 this fix was on l2jarchid... i remember it wen i fix it... rofl p.s: booter get lost ... :) Sure..Also I remember when you C/P from L2JServer oO Quote
Kяaσh Posted April 6, 2011 Posted April 6, 2011 I don't know who make it but on l2essiel fakoykas fix it. Quote
Kяaσh Posted April 6, 2011 Posted April 6, 2011 I don't know who make it but on l2essiel fakoykas fix it. Quote
Reptant_ Posted April 6, 2011 Posted April 6, 2011 I don't know who make it but on l2essiel fakoykas fix it. ye, credits 'fafoukas' (?) Quote
Reptant_ Posted April 6, 2011 Posted April 6, 2011 I don't know who make it but on l2essiel fakoykas fix it. ye, credits 'fafoukas' (?) Quote
Kràtos Posted April 6, 2011 Posted April 6, 2011 Sure..Also I remember when you C/P from L2JServer oO Rofl? you remember that day? p.s: i dont couse i was bussy with you moma. :) Quote
Kràtos Posted April 6, 2011 Posted April 6, 2011 Sure..Also I remember when you C/P from L2JServer oO Rofl? you remember that day? p.s: i dont couse i was bussy with you moma. :) Quote
eKo Posted April 6, 2011 Posted April 6, 2011 Sure..Also I remember when you C/P from L2JServer oO sure allso i remember you c/p from L2JFree oO :D Rofl? you remember that day? p.s: i dont couse i was bussy with you moma. :) shoe fetish?!? http://www.zalando.de/boots-poncho-maya-mo312h003-701.html?cg=03&ch=03&wmc=AFF_7801&wt_cc1=148030 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.