Messages

If DISE is stuck trying to update, run this command in Command Prompt.

Monday, May 14, 2012

Talk about the next version of DISE

Hello from the monkey cage!

It has been a while since the last release of DISE. I've wanted to release it so much. At the same time, I was working really hard on solving the problem that happens when Valve releases updates to Steam; it breaks syncing in DISE, you send bug reports, I fix it, etc...

I'll talk a bit about how the project (and I included) have been doing so far.

Warning: The rest of this post uses some geek-terms.

My original solution for the problem
I moved all of the Steam-related code into its own library (I called it Steam Helper). The idea was to provide a copy of this library (DLL file) for each version of Steam. When your Steam client would update, I would build a new copy of Steam Helper for that version of Steam. DISE would then be notified and download the copy of Steam Helper that would work with your Steam client. I thought it was a great idea. For me, at that time, it was the best way to secure the future of DISE with syncing.

I got to work
All this would require redesigning my online database and building the backend (I didn't really have one before), web service and everything web-related. A lot of work went into this. Still, I knew that by doing this, I would have to support DISE and/or Steam Helper forever... Or at least as long as Steam didn't shutdown. Deep down, I had to admit it would be impossible.

A better solution?
I got an idea that could solve the problem... I made DISE search for the steam_api.dll shipped with Dead Island and call some functions it exports. I was so happy to see it work! That was until I realized that Steam wasn't actually syncing. It only looked like it.

You may know the feeling when you've worked so hard on something to learn that it was to no avail in the end.. You know there's "that other fishy method" you can use which will require your submission to the dark side. In my case, it would be 1) using a leaked Steamworks SDK, and 2) embedding the steam_api.dll file with DISE. It would unfortunately be illegal but would completely solve the problem. Believe me, it was tempting. I'm a very honest person, so it would haunt me in this life and even afterlife. Still, so temping, because it would make your life and my life easier.

Maybe I didn't look at all the possibilities
I decided to run the game in a debugger again. If you remember, I wrote about OllyDbg before. I put breakpoints on various exports in the steam_api.dll file, and tried to find out which functions the game called in the interface(s) created by the steam_api.dll. I got it! Now I knew which interface it used (ISteamRemoteStorage). It was a bit different from the one I used before (IClientRemoteStorage).

After some more studying, I wondered if I even needed the steam_api.dll after all. Good thinking! The DLL was eliminated and I was on the road to success!

It worked
Relieved and still sane. The dark side had not consumed my soul. No matter how much efforts I put into this, it worked out in the end. Nothing else mattered.

The next version
More features, allegedly more stable, several things have been improved. I won't give the whole list of changes yet, but I'll post some screen shots of the current development build in another post! :)

Monday, April 23, 2012

First release: Profile Editor

This is the first (beta?) release of the profile editor that I worked on the last few days, which will be replacing read_profile. No biggie, just a replacement. Please feel free to test it, and send me some hatemail as well if you find this useless. :D

At least I'm kind of proud of the hex editor (though there are some glitches) since it was my first time trying to make one, but it's still far from great. :D

Anyway, this should wrap it up:
  • View/Edit all standard data types.
  • View/Edit custom/raw data using the built-in hex editor.
Future plans:
  • Needs an icon.
  • Hex editor: Copy & Paste.
  • Delete & Add new fields.
Download
profile_editor_0.0.1.0.zip - Just in case, please keep your backups.. :)

Screenshots



Friday, April 20, 2012

Announcing Profile Viewer & Malware talk (update 2)

This is nothing big (yet), but it may turn into an editor later (pretty likely). This decision is based on a few things, such as:
  • read_profile is a command line application (and thus not very user friendly).
  • I just had some issues with my web host regarding read_profile.
The first point is pretty obvious. If you're not familiar with command line apps, it won't be straight-forward.

The other point is that my web host had received complaints because read_profile was falsely reported as malware. It was reported as malware by at least 24 of 42 anti-virus software on VirusTotal. Security specialists have however inspected the file and found it legitimate (of course). :)

To attempt preventing similar future issues, I will stop using executable packers such as MPRESS and UPX. File sizes will be larger but I still think it'll be more convenient. :)

Hmm.. Maybe I should aim for 42/42 false positives.. :D


Update #1
Needs a way to view custom/raw data as well.. Not too bad. :) By the way, this is the data for unlocked chapters, per character. 12 (hex) = 18.

Update #2
Oh well, might as well rename the program already since I added editing of all values except raw/custom data. Time to get that into the hex editor as well! :)

Wednesday, March 21, 2012

Release: Alpha 55

I wish I had a clever (and legal) way to completely eliminate the need to update like this.

Update: DISE 0.0.55.13 is out for testing!

What's new
  • Restores the sync feature, again.
Download

Sunday, March 18, 2012

Release: Alpha 54 (only fixes syncing)

I managed to use the code from alpha 53 and copied the missing parts from the latest code. Syncing works again, and I haven't experienced any crashes. Please report any unusual errors if you haven't reported them already.

I'm still not finished with the next real release (having some decision problems at the moment).

What's new
  • Nothing this time (not even bugfixes). Only restores the sync feature.
Download

Thursday, March 15, 2012

Steam has been updated, breaks syncing (update 2)

I'm still in the middle of working on a new updating system for DISE to improve things for whenever Steam updates.

I've been developing the database, backend/admin web interface to manage it, from scratch. Integrating it in DISE at the same time as well. I didn't have anything advanced before, nor could I find any existing systems I could use. Thanks for your patience! :)

There are also many things I've never even done before and I'm also spending some time simply deciding how things should work. I've learned so much already just from working on DISE! :D

At least I can try to simply update DISE alpha 53 soon, to make syncing work again. There will be nothing new before the next real release. :)

Update
Please see update #2!

I regret to inform you that something bad happened with the code for DISE alpha 53. I have lost some of it, and it has changes it's not supposed to have. It makes the job harder to simply update DISE alpha 53 if I have to patch something together from both new and old code. :( I have backups but I'm not sure if they are good either. Anyway, I'll keep working hard(er).

Update 2
Alpha 54 (only fixes syncing) was released.

Thursday, March 1, 2012

Release: Trainer r7.1

There are no new options this time since I'm busy with something for DISE, but it will be useful for some people with large text (high DPI).

Edit: Sorry, I included the wrong link earlier (pointed to the previous version).

What's new
  • Improved compatibility with large text/high DPI. It does not look perfect but it's better. Tested with 100%, 125% and 150% on Windows 7.
  • Added more helpful text.
Usage help (same as clicking Help in the trainer):
Start the game after starting this trainer. In-game, simply press the button combination (hotkey) to activate/deactivate options.

A sound will be emitted when the code is activated, deactivated, as well as when it didn't work for some reason, and in which case you'll hear the same sound on consequent hotkey presses.

If you use the numpad keys (such as Num 1), make sure that Num Lock is on (you probably know Caps Lock, and there's also Num Lock).

If a hotkey is in use in another program, you can easily choose a different hotkey in the trainer.
Download
trainer_r7.1.zip
trainer_r7.1_nopack.zip - Try this one if your anti-virus complains