Jump to content

Recommended Posts

  • Honorable Member
This is the hidden content, please

Alternative download links →

This is the hidden content, please

Hi everyone,

I'm releasing Proto Unpacker, a fully open-source tool that can load, decrypt, decompress, and export the data stored in the binary item_proto and mob_proto files, especially from original client binaries.
 

I originally made this tool a long time ago, but decided to improve it and release it publicly so everyone can use it freely.

Features

  • Load and decode item_proto and mob_proto binary files.
  • Uses Snappy and LZO decompression codec.
  • Automatically decrypts encrypted protos using TEA keys from a JSON file.
  • Reconstructs item and mob proto structures and exports:
    • item_names.txt
    • item_proto.txt
    • mob_names.txt
    • mob_proto.txt
  • Optional mob_proto overwrite system using a reference TSV (tab-separated values) file.
  • Flexible CLI with verbosity, silent mode, and custom paths.
  • Protocol version–aware structs and enums.

 

How to Use

1. Place the following files next to the executable:

item_proto
mob_proto
tea-keys.json

2. Add TEA keys (if required) into tea-keys.json:

Spoiler
{
	"item_proto": [
		173217,
		72619434,
		408587239,
		27973291
	],
	"mob_proto": [
		4813894,
		18955,
		552631,
		6822045
	]
}

2014 Keys (they are still the same after 10 years)
 

3. Run m2-proto-unpacker.exe

4. The following output files will be created in the same directory:

item_proto.txt
item_names.txt
mob_proto.txt
mob_names.txt

 

Build Instructions

The tool currently only works on Windows.

Requirements

  • C++20 Compiler
  • MSVC (Visual Studio)

 

Have fun with it, now you don't need to wait for anyone to share the protos anymore.

Merry Christmas! 🎄

Edited by Owsap
  • Metin2 Dev 115
  • Eyes 4
  • Think 1
  • Confused 1
  • Lmao 1
  • Good 63
  • muscle 3
  • Love 14
  • Love 98
Link to comment
https://metin2.dev/topic/34155-proto-unpacker/
Share on other sites

thanks, it will be useful.

could you also make unpacker ".ecpk" from official metin2 pack folder? from years there no unpacker for it.

how i can unpack older item_proto and mob_proto from example 2013/2007 client?

would be good if you add hardcoded or from json the gold_min and gold_max we could set

Edited by dev062723
  • Good 1
Link to comment
https://metin2.dev/topic/34155-proto-unpacker/#findComment-173343
Share on other sites

  • 3 weeks later...
  • 3 weeks later...
  • Honorable Member

Version 1.1.1

  • Add additional verbose logging for proto loading and compression.
  • Add CLI args for paths, verbosity, silent mode, help and version.
  • Refactor integer proto type with scoped enum class.
  • Refactor raw key arrays with ProtoKey std::array type.
  • Remove unused TEA encode and encrypt functions. 

The tool now supports flexible CLI with verbosity, silent mode, and custom paths.
Check the docs to view the complete command line usage.

Version 1.2.0

  •  Add mob_proto reference overwrite support via TSV (--overwrite-mob-proto).

The tool now supports overwriting specific fields at dump time using a tab-separated reference file (.txt).
This is useful for:

  • Restoring values from another proto version.
  • Applying batch fixes (gold, skills, folder, etc.)
  • Merging data from spreadsheets or Excel exports.

These are the available fields:

  • Folder
  • MinGold, MaxGold
  • ResurrectionVnum
  • PolymorphItem
  • Skill levels and vnums
  • Special points (berserk, stoneskin, etc.)
  • HitRange

Only fields present in the reference file are applied. All other values remain unchanged.
Check the docs to understand how it workds.

Version 1.2.1

  • Correct ApplyTypes & ItemTable structure, ITEM_VALUES_MAX_NUM = 12.
     

Version 1.4.0

  • Added proto version–aware structs and enums
  • Added LZO compression support
  • The tool can now unpack LZO-compressed protos.
  • Older protos can be unpacked by selecting the correct proto schema version.

All proto versions from 2014 to the present are supported, as long as the matching schema version is used.

Schema versions are selected at compile time. I didn't bother adding a CLI option for switching versions.
If you need a different schema, just change the version macros in the source and rebuild.
The tool is open source, so feel free to tweak it as needed, check the docs if you're unsure where to make the change.

 

Edited by Owsap
  • Metin2 Dev 7
  • Good 3
  • muscle 1
  • Love 12
Link to comment
https://metin2.dev/topic/34155-proto-unpacker/#findComment-173913
Share on other sites

  • 1 month later...
On 12/2/2025 at 11:53 AM, Owsap said:

Hidden Content

  • Give reaction to this post to see the hidden content.

Alternative download links →

Hidden Content

  • Give reaction to this post to see the hidden content.

 

Hi everyone,

I'm releasing Proto Unpacker, a fully open-source tool that can load, decrypt, decompress, and export the data stored in the binary item_proto and mob_proto files, especially from original client binaries.
 

I originally made this tool a long time ago, but decided to improve it and release it publicly so everyone can use it freely.

Features

  • Load and decode item_proto and mob_proto binary files.
  • Uses Snappy and LZO decompression codec.
  • Automatically decrypts encrypted protos using TEA keys from a JSON file.
  • Reconstructs item and mob proto structures and exports:
    • item_names.txt
    • item_proto.txt
    • mob_names.txt
    • mob_proto.txt
  • Optional mob_proto overwrite system using a reference TSV (tab-separated values) file.
  • Flexible CLI with verbosity, silent mode, and custom paths.
  • Protocol version–aware structs and enums.

 

How to Use

1. Place the following files next to the executable:

item_proto
mob_proto
tea-keys.json

2. Add TEA keys (if required) into tea-keys.json:

  Reveal hidden contents
{
	"item_proto": [
		173217,
		72619434,
		408587239,
		27973291
	],
	"mob_proto": [
		4813894,
		18955,
		552631,
		6822045
	]
}

2014 Keys (they are still the same after 10 years)
 

3. Run m2-proto-unpacker.exe

4. The following output files will be created in the same directory:

item_proto.txt
item_names.txt
mob_proto.txt
mob_names.txt

 

Build Instructions

The tool currently only works on Windows.

Requirements

  • C++20 Compiler
  • MSVC (Visual Studio)

 

Have fun with it, now you don't need to wait for anyone to share the protos anymore.

Merry Christmas! 🎄

?2

 

Link to comment
https://metin2.dev/topic/34155-proto-unpacker/#findComment-174743
Share on other sites

  • 3 weeks later...
On 12/2/2025 at 9:53 AM, Owsap said:

Give reaction to this post to see the hidden content.

 

On 2. 12. 2025 at 9:53, Owsap said:

Skrytý obsah

  • Reagujte na tento příspěvek, abyste viděli skrytý obsah.

Alternativní odkazy ke stažení →

Skrytý obsah

  • Reagujte na tento příspěvek, abyste viděli skrytý obsah.

 

Ahoj všichni,

Vydávám Proto Unpacker , plně open-source nástroj, který dokáže načítat, dešifrovat, dekomprimovat a exportovat data uložená v binárních souborech item_proto a mob_proto , zejména z původních binárních souborů klienta.
 

Tento nástroj jsem původně vytvořil už dávno, ale rozhodl jsem se ho vylepšit a zveřejnit, aby ho mohl volně používat každý.

Funkce

  • Načte a dekóduje binární soubory item_proto a mob_proto .
  • Používá  dekompresní kodek Snappy  a LZO .
  • Automaticky dešifruje zašifrované prototypy pomocí klíčů TEA ze souboru JSON.
  • Rekonstruuje struktury a exporty prototypů předmětů a mobů:
    • názvy_položek.txt
    • item_proto.txt
    • mob_names.txt
    • mob_proto.txt
  • Volitelný systém přepisování mob_proto pomocí referenčního souboru TSV (data oddělená tabulací).
  • Flexibilní rozhraní příkazového řádku s podrobnostmi, tichým režimem a vlastními cestami.
  • Struktury a výčty s ohledem na verzi protokolu.

 

Jak používat

1. Umístěte následující soubory vedle spustitelného souboru:

2. Přidejte klíče TEA (pokud je to nutné) do souboru tea-keys.json:

  Skrýt obsah

	 
		
		
		
		
	
	 
		
		
		
		
	

Klíče z roku 2014 (po 10 letech jsou stále stejné)
 

3. Spusťte soubor m2-proto-unpacker.exe

4. Následující výstupní soubory budou vytvořeny ve stejném adresáři:



		

 

Pokyny pro sestavení

Nástroj v současné době funguje pouze ve Windows .

Požadavky

  • Kompilátor C++20
  • MSVC (Visual Studio)

 

Bavte se s tím, teď už nemusíte čekat, až se s vámi někdo podělí o prototypy.

Veselé Vánoce!🎄

Díky

  • Metin2 Dev 1
  • Good 2
  • Love 1
Link to comment
https://metin2.dev/topic/34155-proto-unpacker/#findComment-174968
Share on other sites

  • 3 months later...

Don't use any images from : imgur, turkmmop, freakgamers, inforge, hizliresim... Or your content will be deleted without notice...
Use : https://metin2.download/media/add/

Please use https://metin2.download/ when uploading files smaller than 100MB, otherwise the approval will take longer due to manual upload.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / 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.