Jump to content

[Fix]Bank System's Exploit


Emrys

Recommended Posts

As I see , the 80% of the servers that are using .bank, are exploitable....

Here It is the Fix.... I believe that everybody knows that but Noone has fixed it LoL... here it is:

Index: java/net/sf/l2j/gameserver/util/FloodProtectors.java
===================================================================
--- java/net/sf/l2j/gameserver/util/FloodProtectors.java	(revision 3541)
+++ java/net/sf/l2j/gameserver/util/FloodProtectors.java	(working copy)
@@ -65,6 +65,13 @@
	private final FloodProtectorAction _multiSell;

	/**
+	 * Banking system by TheEnd
+	*/
+		
+		private final FloodProtectorAction _BankingSystem;
+
+	
+	/**
	 * Creates new instance of FloodProtectors.
	 * 
	 * @param player
@@ -83,6 +90,8 @@
		_dropItem = new FloodProtectorAction(player, Config.FLOOD_PROTECTOR_DROP_ITEM);
		_serverBypass = new FloodProtectorAction(player, Config.FLOOD_PROTECTOR_SERVER_BYPASS);
		_multiSell = new FloodProtectorAction(player, Config.FLOOD_PROTECTOR_MULTISELL);
+		_BankingSystem = new FloodProtectorAction(player, Config.FLOOD_PROTECTOR_BANKING_SYSTEM);
	}

	/**
@@ -185,4 +194,9 @@
		return _multiSell;
	}

+		public FloodProtectorAction getBankingSystem() 
+		{
+			return _BankingSystem;
+		}
+
}
Index: java/net/sf/l2j/Config.java
===================================================================
--- java/net/sf/l2j/Config.java	(revision 3541)
+++ java/net/sf/l2j/Config.java	(working copy)
@@ -530,6 +530,8 @@
		new FloodProtectorConfig("ServerBypassFloodProtector");
	public static final FloodProtectorConfig FLOOD_PROTECTOR_MULTISELL =
		new FloodProtectorConfig("MultiSellFloodProtector");
+	public static final FloodProtectorConfig FLOOD_PROTECTOR_BANKING_SYSTEM = new FloodProtectorConfig("BankingSystemFloodProtector");
+


	//--------------------------------------------------
@@ -2403,6 +2471,7 @@

		else if (pName.equalsIgnoreCase("EnableManaPotionSupport")) L2JMOD_ENABLE_MANA_POTIONS_SUPPORT = Boolean.parseBoolean(pValue);

+
		else if (pName.equalsIgnoreCase("MinKarma")) KARMA_MIN_KARMA = Integer.parseInt(pValue);
		else if (pName.equalsIgnoreCase("MaxKarma")) KARMA_MAX_KARMA = Integer.parseInt(pValue);
		else if (pName.equalsIgnoreCase("XPDivider")) KARMA_XP_DIVIDER = Integer.parseInt(pValue);
Index: java/config/floodprotector.properties
===================================================================
--- java/config/floodprotector.properties	(revision 3541)
+++ java/config/floodprotector.properties	(working copy)
@@ -77,3 +77,10 @@
FloodProtectorMultiSellPunishmentLimit = 0
FloodProtectorMultiSellPunishmentType = none
FloodProtectorMultiSellPunishmentTime = 0
+
+FloodProtectorBankingSystemInterval = 1
+FloodProtectorBankingSystemLogFlooding = False
+FloodProtectorBankingSystemPunishmentLimit = 0
+FloodProtectorBankingSystemPunishmentType = none
+FloodProtectorBankingSystemPunishmentTime = 0
+
Index: data/scripts/handlers/voicedcommandhandlers/Banking.java
===================================================================
--- data/scripts/handlers/voicedcommandhandlers/Banking.java	(revision 6647)
+++ data/scripts/handlers/voicedcommandhandlers/Banking.java	(working copy)
@@ -39,6 +39,11 @@
	 */
	public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target)
	{
+		if (!activeChar.getFloodProtectors().getBankingSystem().tryPerformAction("BankingSystem"))
+			        {
+			        	activeChar.sendMessage("You Cannot Use The Banking System So Fast!");
+			        }
+
		if (command.equalsIgnoreCase("bank"))
		{
			activeChar.sendMessage(".deposit (" + Config.BANKING_SYSTEM_ADENA + " Adena = " + Config.BANKING_SYSTEM_GOLDBARS + " Goldbar) / .withdraw (" + Config.BANKING_SYSTEM_GOLDBARS + " Goldbar = " + Config.BANKING_SYSTEM_ADENA + " Adena)");

TheEnd !

Link to comment
Share on other sites

Really i don't know why you put credits to yourself since it is already implemented in interlude projects (equal, archid dunno in which) and i'm sure that you took it from there. It's just rediculous. Tell me honestly, with this way, you convince yourself that you know java?

 

Don't take it for flame b/c it's just my opinion!!

Link to comment
Share on other sites

Really i don't know why you put credits to yourself since it is already implemented in interlude projects (equal, archid dunno in which) and i'm sure that you took it from there. It's just rediculous. Tell me honestly, with this way, you convince yourself that you know java?

 

Don't take it for flame b/c it's just my opinion!!

Where he gave credits to himself? :S

 

Link to comment
Share on other sites

TheEnd !

 

And i saw that he watched the topic and he didn't replied so i haven't done any mistake.

He gaved credits to himself indeed. And if you take a look at the code you'll understand it too.

Link to comment
Share on other sites

And i saw that he watched the topic and he didn't replied so i haven't done any mistake.

He gaved credits to himself indeed. And if you take a look at the code you'll understand it too.

 

Puting your name in the end of your post doesn't mean that these are the credits.

 

Maybe this is his signature as many users put their name in the end of their posts.

 

Btw,the most important thing is that he SHARED this code as noone do it since now.

 

On Topic : Ty for sharing the code,TheEnd.

Link to comment
Share on other sites

And i saw that he watched the topic and he didn't replied so i haven't done any mistake.

He gaved credits to himself indeed. And if you take a look at the code you'll understand it too.

I can call it "λογοπαίγνιο". His name is "TheEnd" and he added it in THE END. The end of the psot...

 

Anyway, ty for sharing dude.

Link to comment
Share on other sites

Really i don't know why you put credits to yourself since it is already implemented in interlude projects (equal, archid dunno in which) and i'm sure that you took it from there. It's just rediculous. Tell me honestly, with this way, you convince yourself that you know java?

 

Don't take it for flame b/c it's just my opinion!!

In l2j isnt Fixed.....

what i Said:

I believe that everybody knows that but Noone has fixed it LoL... here it is:
:O

 

-TheEnd

Link to comment
Share on other sites

i think making the banking voice command synchronized will do quite the same job... but im not rly sure about that, gotta test it imo... if it works, it will be way better than this hardcodded custom flood protector >.>

 

Link to comment
Share on other sites

  • 3 months later...
  • 1 year later...
  • 2 months later...
  • 3 weeks later...

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...