Jump to content

Recommended Posts

  • 3 weeks later...
Posted

Nice one! I didnt test it but im sure 99% that its working cuz i played a few servers and some players had unlimited vote/farm items etc.

They said that they hack it but i didnt believe them ( cuz i thought they cant hack database).

Well thanks i will try it soon!

  • 1 month later...
Posted

Hello guys , I'd like to share with you one intresting dupe.

 

 

In what we need? (In offline trade)

1 – Windows XP(better)

2 – Hide toolz (in some case)

3- Kill GGuard (also if you have the problems)

Items dupe

What to do?

 

Run l2phx , run game. For dupe we need in 2 la2 boxes.

We will dupe counting items, in my case Donate coins.

 

IMPORTANT!!! We must have at least  5 items!!!

 

1)Char №1 must give trade to char №2 , and give him 1 donate coin.

2)Char N1 must sit on selling, char №2 must buy 1 donate coin.

 

Catch packet like this

 

79 46 92 03 10 01 00 00 00 66 B8 04 10 01 00 00 00 01 00 00 00

 

,where

46 92 03 10 - ОID char

66 B8 04 10 - OID item

01 00 00 00 - price! 

3) Char №2 give back to char №1 1 boughted item.

(it’s look like char  №1 - 4 items, and char №2 – 1 item)

 

Next, char №1 make relog till the window , where we can choose character by which one we would like to login.

 

NOW! For dupe we need in script.

 

begin
if FromClient and (pck[1]=#$03) then pck:=#$30
end.
Open ph, "automatisation" - "scripts", and add script.

When you complete it, tick it. And log in by character  №1 in game.

Yoy must see something like this.

a99a45b3aef8.jpg

 

Char officially not in game. But we online.There is 1 minus – we couldn’t move , but we could sit on selling and write to PM.

 

Stay to selling Donate Coins, and together you mus add any item  (for exaple Tutorial Guide book). Sit down to offline trade.

 

Open new window of Lineage 2. Log in to charecter №1. Enter till CHOOSING OF CHAR! Turn off the script in L2phx. And log in game. (After log in you will get invisible + antitarget)

 

Now let’s configurate catched  packet(On chars on which I make test , I have  char №1 - 8199 Don.Coin, char  №2 – 1 Don.Coin)

 

Was:

 

79 46 92 03 10 01 00 00 00 66 B8 04 10 01 00 00 00 01 00 00 00

 

Will  be

79 46 92 03 10 01 00 00 00 66 B8 04 10 06 20 00 00 01 00 00 00

 

06 20 00 00 - 8198 Donate Coins

 

We will buy all items -1 !

 

Send it , and we will seen:

c70362547821.jpg

Char  №2purchase  items from char№1) but in window with char  №2 we wouldn’t see that we bought something…

width=626 height=768http://i003.radikal.ru/1108/9b/5af525b85dd8.jpg[/img]

------------------------------------------------------------------------------------------------------------------------------------

 

Washing off:

 

On every char we must delete by  1 item and Importand! 1stly by char №1 , and after by char №2 make relog.

Enter in game , and we will see that items - DUPED.

d4c4823873ce.jpg

 

------------------------------------------------------------------------------------------------------------------------------------

 

By this way you can dupe - items, which can be traded. Weapon (tide off :drawing CA- drawing out СА), and parts of А armor (Seald – unseald )

 

------------------------------------------------------------------------------------------------------------------------------------

 

Bypassing FIX, if on server offline trade with command .offline or smt. else:

 

1 - Char №2 must write in game (NOT sitting in trading!!!!) command of offline selling. Catch packet(for example such packet 74 00 00 00 00 01 00 00 00 25 11 0B 10 01 00 00 00 01 00 00 00 )

2 Char №1 enter in game with script. And sit on selling. But instead of writing command of offline trade , we must send PACKET!

Also we could use it, if for offline trade on server used scrolls. Catch packe and..by steps.

************************************************** ******************************

**************************

Adena dupe

Meaning the same.Also this script and other.

BUT! In this case we will sit on offline BUYING! NOT SELLING!!

We have :

Char A and Char

On char А --- 1кк adena +++ 1к of arrows

On char  Б --- minimum adena and 2 orrows

Char А must sit on buying ARROWS (ON BUYING!!!!) 999к999 aden

Char B sell him  1 arrow.

Char Б give back 999к999 aden to char  А

Char А make relog, enter in game with script. Sit on offline trade buying 1 arrow per 999к999. Next enter to the game by fake char.

Char B send packet .

Washing off by the same way. Char А delete 1 adena, and char B delete 1 adena.

RELOG and voila –adena is duped!!.

 

(Working everywhere , where offline trade!!!!! 99% of server is work!)

 

(In case , when you enter in game with this script , you get black window, what to do?

Solution:

Send the packet on buying\selling

 

74 00 00 00 00 01 00 00 00 68 62 18 40 01 00 00 00 01 00 00 00

 

 

 

 

Tested on lin2crazy.ru online 1к

 

There is video : http://adf.ly/4Qjqb

 

this is not how dupe is going on :)

  • 2 weeks later...
Posted

For admins who have custom shits to trade items, you're still vulnerable to this.

 

There are 2 different fixes to that, only 1 should be enough but of course I applied both:

 

Part 1:

This works only with stackable items, and that's because when someone trades all of one stackable item to someone who doesn't have it, the item instance is just moved. That's error-prone, up to the point in which someone can cheat the server and make it believe that the same item exists in 2 different inventories. For stackable items that's too risky, so let's just avoid it.

Look for a line of code like this in ItemContainer.java:

			// If possible, move entire item object
			if (sourceitem.getCount() == count && targetitem == null)

and change it to:

			// If possible, move entire item object
			if (sourceitem.getCount() == count && targetitem == null && !sourceitem.isStackable())

That way we will always destroy the original item and create a new one (only if it's stackable), which makes sure that the object id is "refreshed" and cannot be used afterwards, so even if you don't apply the part 2 fix nothing bad should be happening.

 

Part 2:

This depends entirely on your custom code. Just make sure to check every single item movement with the l2j function L2PcInstance.checkItemManipulation(int objectId, long count, String action). If it returns null that means that the player who is trying to use the item with the given object id shouldn't be able to, so just abort the code (log cheat attempt and return).

So even if someone got to make our server believe that the same item is in 2 different inventories, every single item knows who is its owner, so one of both cannot be its owner, so this checks returns null and he's detected ;)

 

I hope that helps!

  • 1 month later...
  • 2 weeks later...
  • 2 months later...
Posted (edited)

For admins who have custom shits to trade items, you're still vulnerable to this.

 

There are 2 different fixes to that, only 1 should be enough but of course I applied both:

 

Part 1:

This works only with stackable items, and that's because when someone trades all of one stackable item to someone who doesn't have it, the item instance is just moved. That's error-prone, up to the point in which someone can cheat the server and make it believe that the same item exists in 2 different inventories. For stackable items that's too risky, so let's just avoid it.

Look for a line of code like this in ItemContainer.java:

			// If possible, move entire item object
			if (sourceitem.getCount() == count && targetitem == null)

and change it to:

			// If possible, move entire item object
			if (sourceitem.getCount() == count && targetitem == null && !sourceitem.isStackable())

That way we will always destroy the original item and create a new one (only if it's stackable), which makes sure that the object id is "refreshed" and cannot be used afterwards, so even if you don't apply the part 2 fix nothing bad should be happening.

 

Part 2:

This depends entirely on your custom code. Just make sure to check every single item movement with the l2j function L2PcInstance.checkItemManipulation(int objectId, long count, String action). If it returns null that means that the player who is trying to use the item with the given object id shouldn't be able to, so just abort the code (log cheat attempt and return).

So even if someone got to make our server believe that the same item is in 2 different inventories, every single item knows who is its owner, so one of both cannot be its owner, so this checks returns null and he's detected ;)

 

I hope that helps!

Your fix works and thank you!

Edited by Ayami-
  • 1 month later...
  • 2 weeks later...
  • 2 weeks later...
  • 1 month later...
  • 2 months later...
  • 6 months later...
  • 2 months later...
Guest
This topic is now closed to further replies.



  • Posts

    • wts  or trade for Classic 1.5 - Classic 3.0 ,assasin 418 interface -+ assasin source pack discord bebe693
    • Lineage 2 Interlude Developer – Cliente + Datapack Hola, soy developer especializado en Lineage 2 Interlude con experiencia tanto en cliente como datapack/core. ✔ Desarrollo datapack (Java, scripts, quests, balance PvP/PvE) ✔ Fixes core / geodata / exploits ✔ Sistemas custom (events, Olympiad, instancias, mods PvP) ✔ Cliente: interface mods, system patches, .dat edits, UI personalizada ✔ Optimización y estabilidad de servidor ✔ Trabajo freelance o colaboración fija Si necesitáis soporte dev o mejoras para vuestro servidor Interlude, podéis contactarme por DM. Portfolio y ejemplos disponibles bajo petición.
    • THEY DON’T COME BACK FOR NO REASON. HERE’S WHY Our clients come from different countries and with very different tasks. But the strongest indicator of quality is simple — when a client comes back **for a second time**. This case is exactly that. The client returned with a request for a **German ID**. The requirement was clear: a document **in a male hand**, with a natural live scene and correct geographic context. What we did: ▪ accepted source files and data without unnecessary bureaucracy ▪ selected a **real street**, not a generic background ▪ built a print-ready mockup with correct scene logic ▪ sent it for approval ▪ after confirmation, delivered the **final file for printing** No templates. No “good enough”. Only solutions tailored to a specific task. Result: ▪ mockup approved on the first try ▪ client fully satisfied ▪ stays in touch We work **worldwide** — and that’s exactly why clients return. Contact us › TG: @mustang_service ( https:// t.me/ mustang_service ) › Channel: Mustang Service ( https:// t.me/ +6RAKokIn5ItmYjEx ) *All data is published with the client’s consent.* #redraw #verification #documents #case #ID
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..