Tanji Versions Save

Protocol analyzer for Habbo with extension, and proxying support.

v1.4.1227.0

5 years ago
  • Fixed Tanji to work with the new hotel revisions where a ping no longer occurs before the client policy request.
  • Fixed bug causing the connection process to fail on some retros where a Boolean value was unable to be read. (ServerPublicKeyPacket)

v1.4.1209.0

5 years ago
  • Reverted some changes in the Sulakore API that caused some extensions to break.

This fix was intended for modules that used to work for v1.4.1110, but stopped working on the previous release(v1.4.1200).

v1.4.1200.0

5 years ago
  • Fixed bug that caused a deadlock when attempting to receive the host/port packet from the client.
  • Minor UI adjustments.
  • Now supports decrypting incoming data from the server when need be.
  • Fixed bug in RC4 class that caused misalignment when attempting to decipher large data.

v1.4.1110.0

6 years ago
  • Do not copy the Hashes.ini file to the directory of its' related client.
  • Fixed bug that caused modules to be unable to load the Out/In Identifiers instances in ExtensionForm. This would cause all modules that had their IsRemoteModule set to true to be unable to bind a method with a given hash.

v1.4.1100.0

6 years ago
  • Fixed bug causing Tanji to lose connection with a server(retro) when no policy file request was conducted by Tanji to the server. (They would check to see if a client requested policy file before allowing the connection to stay open)

v1.4.1060.0

6 years ago
  • Fixed bug causing the application to crash when utilizing the SendToX buttons in the injection page.

Settings.ini

ClientPageInterceptionTriggers - Allows for specifying custom strings/values that should be found in the client page, so when one of these triggers is found in a response, it will trigger the next step Injecting Client.

v1.4.1053.0

6 years ago
  • Added support for the latest Firefox builds.
  • Improved the looks of SKoreButton, SKoreTabControl, SKoreLabelBox, and SKoreLabel. (Shadows/Sharper Text)
  • Fixed bug causing the avatars of authors with their profile set to hidden/private to not show up in the Modules tab.
  • Fixed bug causing the application to hang when attempting to terminate the proxy.
  • Fixed bug that would cause random disconnects when in rooms with large activity. (E.g: CTF Room)
  • Change the root CA name from "Eavesdrop Root Certificate Authority" to "Tanji Certificate Authority".
  • The Hashes.ini file will now be copied into the same folder as the client it was loaded with, so that different Hashes.ini files can exist for specific client revisions.

Modules

No breaking changes have been introduced to the module API system in this version coming from v1.4.592. This means modules built for the prior version will work just as intended, so don't be afraid to move your entire Installed Modules to this Tanji's directory.

Settings.ini

Exposed external settings file. UIScheme - Change the color of some controls/borders in Tanji with RGB(Hex). [Default: #f33f3f] ProxyListenPort - Change the Eavesdrop proxy server/listener port. [Default: 42822] ConnectionListenPort - Change the port of where the client will try to connect to. [Default: 9567] ForceSWFDecacheBlacklist - Do not attempt to modify the client page of these host. [Separated by ","] PromptUpdateNotification - Display a message box when a new update is found. [Default: true] PossibleClientFileNames - Useful in conjunction with ForceSWFDecacheBlacklist for when you don't want to modify the client page, but still want it to detect the client/SWF. [Separated by ","] ProxyOverrides - Proxy overrides, these hosts will not be handled by the proxy/Eavesdrop. Meaning, no request/response will go though Tanji if they come from these hosts. [Separated by ","]

Connection Process

This version utilizes a more reliable way of connecting to the game client/server. These changes will bring compatibility with many(if not all) post-shuffle retros out there.

  • Instead of attempting to extract the host/port from the client page, modify the client/SWF to have it send us the host/port via a packet.
  • Instead of modifying the client page(specifically connection.info.host with 127.0.0.1), inject it directly into the client/SWF.

Firefox

For those of you using previous versions of Firefox(pre-Quantum), you will need to re-import the certificate authority of Tanji(Export Certificate Authority). This is due to the fact that I've changed the name to combat with some users experiencing problems with old/deprecated root CA's. For those of you using Firefox Quantum+ builds, Tanji will now work, cool.

v1.4.592.0

6 years ago
  • Fixed bug causing application to not open, even if it wasn't ran with administrative privileges. (By just removing the admin check all-together, I tried I guess)

v1.4.590.0

6 years ago

General

  • Improved the connection process(silky smooth).
  • Changed Eavesdrop listener port to 8282.
  • Fixed bug causing the proxy unable to be set on some computers.
  • Added a static file named Hashes.ini containing the hashes/names of several in/out packets.

Packet Logger

  • Added Latency label at the bottom to check your... latency with the server.
  • Display the name of the packet/hash next to the hash in the logger.
  • Added shortcut CTRL + T to the Always On Top option.

Extension/Module API

  • Fixed bug not causing the dependencies of a module to load, even if they were copied to the Dependencies folder.
  • Fixed bug not causing ModifyGame, and ModifyGameData to fire when the module is opened after Tanji has already been connected.
  • Added In/Out Identifier type objects to the IInstaller interface, which ExtensionForm exposes. These objects will contain the packet ids that have been resolved from a hash found in the Hashes.ini file.
  • You can now use attributes to attach to a specific packet/hash:
[OutDataCapture("AcceptFriendRequest")]
// or [OutDataCapture(4000)]
// or [OutDataCapture("bbee455ec980039aab560e48d0e8782e")]
public void AcceptFriendRequestMessage(DataInterceptedEventArgs e)
{
    // Hey, I got captured!
}

(Don't worry, you can still use the Triggers stuff for attaching...)

v1.4.390.0

6 years ago

This was the last version I've released publicly since 2015(not accounting the 2.0 build). All future releases that are built off of this code base will be placed in this repository.