All Projects → a3f → Tibia-Wireshark-Plugin

a3f / Tibia-Wireshark-Plugin

Licence: GPL-2.0 license
Former development Repo for the now merged Tibia Wireshark Dissector

Programming Languages

c
50402 projects - #5 most used programming language
Makefile
30231 projects
python
139335 projects - #7 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to Tibia-Wireshark-Plugin

gamesneeze
CS:GO cheat for linux with a basic gdb injector
Stars: ✭ 181 (+964.71%)
Mutual labels:  game-hacking
cashark
Wireshark dissector plugin for EPICS protocols
Stars: ✭ 20 (+17.65%)
Mutual labels:  wireshark-dissector
ps2rd
Collection of tools to remotely debug PS2 games
Stars: ✭ 55 (+223.53%)
Mutual labels:  game-hacking
Credixware.old
Credixware is a cheat designed for CSGO. It includes an external and internal CSGO multihack
Stars: ✭ 16 (-5.88%)
Mutual labels:  game-hacking
tibiawiki-sql
Python script that generates a SQLite database from TibiaWiki articles
Stars: ✭ 19 (+11.76%)
Mutual labels:  tibia
pointer-sequence-reversal
No description or website provided.
Stars: ✭ 22 (+29.41%)
Mutual labels:  game-hacking
codebreaker-rs
A Rust library to decrypt & encrypt any cheat code for CodeBreaker PS2
Stars: ✭ 18 (+5.88%)
Mutual labels:  game-hacking
ZeusInjector
An Open Source Windows DLL Injector With All Known Techniques Available
Stars: ✭ 65 (+282.35%)
Mutual labels:  game-hacking
pytibia
🤖 Fastest Tibia PixelBot. A great bot for Auto, Cavebot, Healing, Macro, Refill and Targeting! (Ready To Global)
Stars: ✭ 120 (+605.88%)
Mutual labels:  tibia
Captain
Captain Claw external hack
Stars: ✭ 18 (+5.88%)
Mutual labels:  game-hacking
OTBM2JSON
OTBM2JSON - A generic framework for programmatic modification of OTBM files.
Stars: ✭ 42 (+147.06%)
Mutual labels:  tibia
NabBot
Discord bot for Tibia servers
Stars: ✭ 51 (+200%)
Mutual labels:  tibia
factorio dissector
Factorio dissector for Wireshark
Stars: ✭ 23 (+35.29%)
Mutual labels:  wireshark-dissector
p4-traffictool
p4-traffictool helps in packet generation, parsing and dissection for popular backends
Stars: ✭ 31 (+82.35%)
Mutual labels:  wireshark-dissector
wireshark-awdl
Wireshark Dissector for Apple Wireless Direct Link (AWDL) and Apple's CoreCapture logging framework. Note: the AWDL dissector is part of Wireshark 3.0!
Stars: ✭ 109 (+541.18%)
Mutual labels:  wireshark-dissector
otclientv8
Clean, ready to use version of OTClientV8 - Alternative, highly optimized Tibia client
Stars: ✭ 201 (+1082.35%)
Mutual labels:  tibia
exevo-pan
Exevo Pan is a better experience for Tibia Char Bazaar.
Stars: ✭ 73 (+329.41%)
Mutual labels:  tibia
ffxiv-dissector
A Wireshark dissector for the FFXIV wire protocol
Stars: ✭ 14 (-17.65%)
Mutual labels:  wireshark-dissector
hacking-games-with-verbs
Whether it is running or collecting, shooting or trading, games are driven by verbs. In this workshop we pick out the verbs that make up a game and explore how these verbs express certain messages and values. Then we hack the game with new verbs, so that it communicates our own messages and values.
Stars: ✭ 16 (-5.88%)
Mutual labels:  game-hacking
toy-arms
⚔️ my simple reusable game hack components in Rust
Stars: ✭ 71 (+317.65%)
Mutual labels:  game-hacking

This is outdated. The most recent version is now in upstream Wireshark

This dissector was submitted and accepted as built-in dissector for Wireshark and is shipped with Wireshark >=2.6.0.

The dissector was added in these two commits:

One commit errornously states 11.42 compatibility. This is not (yet) the case.

Tibia Wireshark Dissector

screenshot

Tibia is a MMORPG developed by Cipsoft GmbH. OTServ is the open-source implementation of the game server.

This Wireshark dissector decodes the game's communication protocol. It supports all versions from Tibia 7.0 up to Tibia 11.00 (2001-2016).

Newer versions of the protocol use RSA/XTEA in order to provide a secure communication channel. In order to dissect packets on these versions, the symmetric (XTEA) key need be provided manually via the preferences Dialog. In case the private key is provided, Login packets will be decoded to acquire the XTEA key. OTServ's private key is included by default, so decoding most OTServ traffic should work out of the box.

Game protocol support is quite incomplete, but it should be able to decrypt all Tibia packets from Tibia 7.00 up.

Long Version

Tibia (https://tibia.com) is a Massively Multiplayer Online Role-Playing Game (MMORPG) by Cipsoft GmbH.

Three official clients exist: The current Qt-based 11.0+ client, the old C++ client used from Tibia 7.0 till 10.99 and the Flash client. The latter two are being phased out. They use the same protocol, except that the session key for the Flash client is transported alongside the character list over HTTPS. It's possible this is done in the same manner as in the native client from 10.74 up. We don't support the Flash client.

The dissector supports Tibia versions from 7.0 (2001) till 11.00 (2016-10-12). Tibia has an active open source server emulator community (OTServ) that still makes use of older versions and surpasses the official servers in popularity, therefore compatibility with older protocol iterations should be maintained.

Transport is over TCP, with recent versions encrypting player interaction with XTEA. Authentication and key exchange is done with a hard-coded RSA public key in the client.

Two protocols are dissected: The Tibia login protocol and the Tibia game protocol. Traditionally, login servers were stateless and only responsible for providing the addresses of the game servers alongside the character list upon successful authentication. Then a new authentication request (this time with character selection) is sent to the game server. That way, a client who knows the game server address can very well skip the login server entirely. Starting with 10.61, this is no longer possible, as the login server provides a session key that needs to be sent to the game server.

Starting with Tibia 7.61, login server requests can't be reliably differentiated from game server requests. Therefore we apply some heuristics to classify packets.

Starting with Tibia 11.01, a web service takes the role of the login server. Starting with Tibia 11.11, the Adler32 checksum was replaced by a 32-bit sequence number. The most significant bit indicates whether the packet was DEFLATE-compressed. These features are not yet supported.

Packets from and to the game server contain commands. Commands are identified by the first octet and are variable in length. The dissector has most command names hard-coded. However, a complete implementation of the game protocol is unlikely.

The RSA private key usually used by OTServ is hard-coded in. Server administrators may add their own private key in PEM or PKCS#12 format over an UAT. For servers where the private key is indeed private (like for official servers), the symmetric XTEA key (retrievable by memory peeking or MitM) may be provided to the dissector via UAT.

Unsurprisingly, no official specification of the protocol exist, following resources have been written by the community:

  • OTServ: Community effort to replicate a Tibia Server.
  • Outcast: A Tibia client implementation of the game protocol as of 2006. Comes with a PDF spec written by Khaos
  • TibiaAPI: Bot framework, containing a listing of commands as of 2009
  • TFS: OTServ-Fork which is kept up-to-date with most of the official protocol
  • otclient: Open Source implementation of an up-to-date Tibia client

An official slide set by Cipsoft detailing the architecture of Tibia from Game Developers Conference Europe 2011 is also available: http://www.gdcvault.com/play/1014908/Inside-Tibia-The-Technical-Infrastructure

The login protocol, as implemented here, has been inferred from network footage and game client execution traces and was written from scratch. The listing of game protocol commands were taken from TibiaAPI and Khaos' spec No code of Cipsoft GmbH was used.

Tibia is a registered trademark of Cipsoft GmbH.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].