d2s-format - Diablo II Save File Format (.d2s format)

  •        76

Diablo II stores your game character on disk as a .d2s file. This is a binary file format that encodes all of the stats, items, name, and other pieces of data. Integers are stored in little endian byte order, which is the native byte ordering on a x86 architecture Diablo II is based on.

https://github.com/krisives/d2s-format

Tags
Implementation
License
Platform

   




Related Projects

MuliFex for Diablo II LoD

  •    Java

An account, character and item manager for Diablo II: Lord of Destruction. MuliFex is a Swiss Army Knife that makes the life of a Diablo player on Battle.net more enjoyable. MuliFex employs Java (and some native Code) and runs on Windows and Mac OS X.

devilution - Diablo devolved - magic behind the 1996 computer game

  •    C++

While most titles from Blizzard receive years of love and support, Diablo stayed in the shadows. Abandoned in favor of a sequel, it remained full of bugs and unfinished potential. The game was last patched in 2001 before being discontinued altogether, a problem I wanted to fix. I played Diablo extensively as a teenager, but as time passed it became difficult to run the game on newer hardware. The lack of many improvements found in the sequel also kept it from aging well. At first the game appeared to be a lost cause, but thankfully a little oversight in 1997 made it not so. With Diablo's development team moving on the source code was given to Synergistic Software to handle the expansion. Less known however is that it was also given to Climax Studios to create a PlayStation port. Now Sony has long been known for letting things slide; especially in Japan. Anything from leaking prototypes to full source code and Diablo was no exception. Symbolic information was accidentally left on the Japanese port. Normally used for debugging, a symbol file contains a map of everything generated during compile time. This includes file names, functions, structures, variables, and more! To top it all off a special build is hidden on the PC release in DIABDAT.MPQ -> D1221A.MPQ -> DIABLO.EXE! This build contains debug tools and assert strings further giving away code information.

ThunderGraft

  •    C++

ThunderGraft is an MPQDraft plugin that allows Diablo, Diablo II, Starcraft, and Warcraft II Battle.net Edition to use newer, superior audio compression formats including MP3, Ogg Vorbis, and FLAC, in addition to the existing ADPCM WAV compression.

Diablo Item Capture

  •    CSharp

Capture item pictures in diablo III

Diablo 2 Character Editor (D2CE-DS)

  •    Javascript

This is a character and items editor for the game Diablo 2 (D2). This also features updates for the expansion pack Diablo 2 LOD. Features include stat editor, money, inventory, and gem upgrade system. Donations are needed and will soon be accepted!


freeablo - Modern reimplementation of the Diablo 1 game engine

  •    C++

freeablo is a modern cross platform reimplementation of the game engine used in Diablo 1. As it is just an engine, you will need the original data files to play the game. Mouse to walk around, just like the original, and click on doors to open them.

Empty Clip

  •    C++

Empty Clip is a top-down, 2D Action RPG. It draws heavily from games such as Crimsonland, Diablo, Alien Swarm, Grand Theft Auto II, and more. There is a campaign, adventure, and survival mode.

Diablo Bot

  •    Perl

Diablo Bot is an extensive IRC Bot written entirely in perl. Current development versions include expanded command flexibility, easy modular support, and isolated configurations for multipule networks.

binglide - Visual reverse engineering tool showing some of the current techniques.

  •    Python

This tool does not know about any particular file format, everything is done using the same analysis working on the data. This means it works even if headers are missing or corrupted or if the file format is unknown. This first version of binglide was part of a project for my M.Sc. in the School of Computing of the University of Kent, in Canterbury, UK. I'd like to thank Dr. Julio Hernandez Castro for introducing me to the field of Visual Reverse Engineering and for his feedback on my work. I'm planning on doing a second version with more features and rich user interface so if you have any requests feel free to create an issue for that.

Green - Create UML diagram from code

  •    Java

green is a LIVE round-tripping editor, meaning that it supports both software engineering and reverse engineering. You can use green to create a UML class diagram from code, or to generate code by drawing a class diagram. green supports exporting files to both jpg and gif format, so that you can share you diagrams without any issues!

diablo-js - Isometric minimal-code style game at html5 canvas and javascript

  •    Java

Isometric minimal-code style game at html5 canvas and javascript

DCdU

  •    Delphi

DCdU (Die Chronik der Unsterblichen) is a game in Diablo style. It is programmed with Borland Delphi and the GLScene components. You are an old magician and now you have to return to the old country, to the valley of the damned. The currently downloadabl

Errare

  •    Java

Errare is a diablo-like 3D RPG game. It is written in Java because we believe games should run on any OS. Gamers unite !

reverse-engineering-reference-manual - collage of reverse engineering topics that I find interesting

  •    Python

NOTE(2): beta? Yes. In the coming months I'm planning on adding more pictures and diagrams to the current content. Plans to add more sections will continue after revamping it. NOTE(3): CI? We all hate broken links. The CI is my attempt to make sure all the external links in this repository are still working. And if any of them is broken, I can easily pinpoint which one and swiftly update it with another relevant link.

pyrebox - Python scriptable Reverse Engineering Sandbox, a Virtual Machine instrumentation and inspection framework based on QEMU

  •    C

PyREBox is a Python scriptable Reverse Engineering sandbox. It is based on QEMU, and its goal is to aid reverse engineering by providing dynamic analysis and debugging capabilities from a different perspective. PyREBox allows to inspect a running QEMU VM, modify its memory or registers, and to instrument its execution, by creating simple scripts in python to automate any kind of analysis. QEMU (when working as a whole-system-emulator) emulates a complete system (CPU, memory, devices...). By using VMI techniques, it does not require to perform any modification into the guest operating system, as it transparently retrieves information from its memory at run-time. Several academic projects such as DECAF, PANDA, S2E, or AVATAR, have previously leveraged QEMU based instrumentation to overcome reverse engineering tasks. These projects allow to write plugins in C/C++, and implement several advanced features such as dynamic taint analysis, symbolic execution, or even record and replay of execution traces. With PyREBox, we aim to apply this technology focusing on keeping the design simple, and on the usability of the system for threat analysts.

cutter - A Qt and C++ GUI for radare2 reverse engineering framework

  •    C++

Cutter is a Qt and C++ GUI for radare2. Its goal is making an advanced, customizable and FOSS reverse-engineering platform while keeping the user experience at mind. Cutter is created by reverse engineers for reverse engineers. Cutter is available for all platforms (Linux, OS X, Windows). You can download the latest release here.

barf-project - BARF : A multiplatform open source Binary Analysis and Reverse engineering Framework

  •    Python

The analysis of binary code is a crucial activity in many areas of the computer sciences and software engineering disciplines ranging from software security and program analysis to reverse engineering. Manual binary analysis is a difficult and time-consuming task and there are software tools that seek to automate or assist human analysts. However, most of these tools have several technical and commercial restrictions that limit access and use by a large portion of the academic and practitioner communities. BARF is an open source binary analysis framework that aims to support a wide range of binary code analysis tasks that are common in the information security discipline. It is a scriptable platform that supports instruction lifting from multiple architectures, binary translation to an intermediate representation, an extensible framework for code analysis plugins and interoperation with external tools such as debuggers, SMT solvers and instrumentation tools. The framework is designed primarily for human-assisted analysis but it can be fully automated. All packages were tested on Ubuntu 16.04 (x86_64).