Welcome to my home page. Here you will find the latest news, programs and tools for my favourite games,
such as NHL Hockey by EA Sports and Grand Theft Auto by Rockstar Games.

News

October 22, 2017

So I was holding on to post an update until I have some good news. Unfortunately, as of now I have not made enough progress to get you excited. The security of PS4 is pretty tight so it is a tough grind trying to get through all the layers of protection. Here is an update of where we are at:

The savegames of PS4, just like the ones of PS3, is a directory of files. It does not contain just the game data, it also contains the metadata such as save type, icon image and integrity hashes which make modifying the files a challenge even if the encryption is bypassed. Unlike PS3, where this directory was stored as is, the save games of PS4 are stored in a single file which is an image of the filesystem. This filesystem is called PFS (for Playstation file system, protected file system or pain in the *** file system, take your pick) and it is based on an open source filesystem UFS. This is not surprising because UFS is the main filesystem of FreeBSD, an operation system on which PS4 is based on.

Along with the image of the PFS filesystem, PS4 stores a randomly generated key (in a .bin file). The key is generated when save game is first created and does not change for the life time of the save game. PFS filesystem in itself is not a hard file format. A lot of research has already been done on it and combined with the knowledge of open source UFS, it would have been trivial to read the PS4 save game. Where it gets tricky is the fact the PFS filesystem image is encrypted using the above-mentioned key. Moreover, since the key is provided with the save game, it is also encrypted and hashed for integrity check.

The good news is that both the decryption key for the the savegame key and the integrity hash key are known. So for any given savegame, it is possible to read and even modify the encryption key. The bad news is that this key is only part of the equation. To decrypt the PFS, Playstation actually combines this random key with some other key to produce the actual key it can use to decrypt the savegame. This second portion of the key is guarded by a dedicated processor on the PS4 which answers for all security-related operations (SAMU). Even though the operating system on the PS4 is running with the highest privileges, it has no access to anything inside this processor.

So at this point, I have no measurable progress to offer. I spent hours analyzing the code retrieved from the PS4 you guys provided me, and I finally understood the bigger chunk of it. But for now I'm stuck behind the wall of SAMU. This is not to say that I will not keep trying. I did gain the knowledge of how savegames work and what the next step needs to be. It might take a breakthrough from another researcher or a "lucky bounce" from one of my shots at the PS4 but I'm not losing hope yet. Moreover, this week has been really great for PS4 security-related breakthroughs, so it means that the grind is ongoing and I'm not the only one working on this. "All we need is just a little patience..."

July 25, 2017

As a result of the generous donations, I was able to collect enough funds in just a month to purchase the required PS4 console. I can not thank all the contributors enough.

In my few days with this "toy", here is what I was able to discover so far:

I was able to extract default NHL 15 PS4 roster and confirm that it has a nearly identical format to the one of NHL 15 PS3. I will post an updated TDBView and the default roster in the next news update.

I'm able to execute arbitrary code on PS4 to test my hypotheses and discover how internals work - see the screenshot above.

Since this console is on older firmware, I'm only able to run NHL 15 so far. As far as I can see, this will not be a limitation for current and future versions of the game. Once the savegame format is accessible, the coding will be done on PC and PS4 firmware will not matter. I have not yet purchased NHL 16 or NHL 17 though.

Now I could attempt to start modifying NHLView to be able to open the default rosters; however, I feel that at this point it is a waste of time since savegames are still a mistery.
My next task is to be able to read the savegames. I will update you on progress when I have anything meaningful to post.

And did I forget to say A HUGE THANK YOU to all those who made any of this possible?

June 19, 2017

In the last few months, PS4 scene has seen a lot of new development with regards to reverse-engeneering in general and save game editing in particular.
From what I've read, there is enough potential in the current state of affairs for me to be able to do research on the possibility of decrypting
and resigning NHL roster save games. However, for this to happen I require a PS4 console with a specific firmware version which currently goes
for $550 USD ($730 CAD) on eBay. Since I barely play games anymore, this is a hefty price to pay simply for a research project. I'm still very much
interested in keeping NHLView alive, but I cannot afford the price tag. Therefore, I'm launching a donation campaign through Paypal to amass
the necessary funds to purchase the said console.

I'm also making a promise that this is not some kind of scam to get your money. If I'm not able to collect the required amount,
I will return the money to every single contributor (minus the PayPal fee). I will stop the campaign as soon as there is enough money and will
post a picture of both the invoice and the console itself once I get everything.

Two things I cannot promise though:

At this point, this is only a research. There is no definitive evidence that I will be able to defeat the encryption. Without decryption, no NHLView will exist for PS4.

My efforts at this point are for PS4 only. I do not follow the Xbox One developments and have no knowledge what state modding is in for this console. You should not
contribute if you are an Xbox One user.

Drop-downs for player appearance now have values generated from default rosters.

Refactored player appearance fields into a separate tab with graphical assets preview.

It is now possible to create new players (use with care, very raw feature).

Merry Christmas and Happy New Year 2016! Thank you for your patience and positive feedback.

September 15, 2015

NHL Legacy has some structural changes to the database. NHLView NG will not be able to open the rosters without any modifications,
like last year. I will release a version of NHLView NG and TDBView which supports the new db structure shortly.

September 14, 2015

I think it was time for a little update to the website look. Now that Google takes mobile friendliness into ranking account,
it was necessary to make changes. The refreshed Bootstrap-based look is nothing to write home about, but at least the site
does not look like it was built in 1980...

February 23, 2015

Recently, I received a bunch of encouragement and appreciation emails. I thank you all for taking time to express your gratitude.
I have not posted many updates lately even though I have quite a few new features being worked on in parallel for the next version of NHLView NG.
Most of this is due to this little person who takes surprisingly large amount of time:

I want to assure you that it is my absolute intention to release the next version of NHLView NG as soon as I get around to complete it.
In the meantime, I thank you for your patience and offer you the following screenshots from the next version:

September 10, 2014

The structure of NHL 15 roster files for PS3 and XBox 360 is 100% the same as that of NHL 14. It appears that this year's game received no active development and
EA is concentrated on PS4 and XBox One for which the editor will not come any time soon. While I prepare the official release of NHLView NG supporting NHL 15, you can
use the following walkaround to open the rosters in the current version. Add the lines below at the end of games.conf file located in NHLView NG folder:
; NHL 15
[BLUS31436/BLES02037/NPUB31501/NPEB02030]
;disc_hash_key=
secure_file_id:*=45415F53504F5254535F4E484C313500

April 12, 2014

While the new version of NHLView NG is in the works, I'm making available a new version of TDBAccess Library which will
allow you make your own applications that read and write all TDB database from previous PC and the current PS3 and XBox 360 NHL games.
The added functions to handle console games still require external programs (pfdtool for PS3 and Horizon or similar for XBox 360).
The library comes with two example projects, one in Delphi another in Visual Basic .NET. The new version 3.0 is not backward compatible
with previous version 2.7. While all the old functions kept their parameters intact, all the strings are now 2-byte Unicode instead of
1-byte ANSI. Download the new version if you are interested in Developer Tools section.

I know a lot of you are waiting for the next version of NHLView NG. Let me assure you, it's in the works and coming in not too distant future.

October 28, 2013

A rather important bug with opening PS3 rosters coming from EU consoles forces me to release an updated version
of NHLView NG. This version also fixes a couple of more minor bugs reported in the forums.

October 27, 2013

After several long years of development, NHLView NG is finally available for download. Please grab it in the newly created NHLView NG
section of the website. I would like to thank everybody for all the patience you exhibited in the past month as I prepared this release. I received a lot of positive
feedback and great comments from a lot of people. I'm also extremely grateful to all the people who helped me test the program. Without you, this release would not have been possible.

While I may reply to email questions, I encourage you to post bug reports and questions in the NHLView NG forum.
Not only you might have a chance at a faster response from another user, but it also keeps a better history of bugs and allows me to properly assemble the tasks when times comes
to fix them.

October 14, 2013

As I'm readying the initial release of NHLView NG, I invite those who plan on downloading and using the program to register or recover the password for your
forum account. As was the case previously with NHLView PC, I'm planning to mostly use the forums for receiving bug reports
and offering support for problems you may be experiencing and questions you may have. Due to problems with spam, I'm forced to manually approve all registrations.
There is a field in the registration form that is designed to distinguish real users from bots. Please make sure to fill it in such a way that I'm able to know you are not a bot.
Also, please be patient with account activation, it may take me a few hours to activate it. If you do not receive an activation within a day, please contact me by email. Thanks.

October 2, 2013

Several people contacted me with a request for an updated TDBView which supports NG databases. You can grab the updated version from Miscellaneous section.
It supports native opening of PS3 save games. For Xbox 360, you need to use third-party tools to extract the TDB database from the savegame.
As before, this tool is completely unsupported; it is my internal utility when programming NHLView. It digs into low-level details and doesn't have a great user interface.

September 28, 2013

NHL 14 came out not that long ago, so it's time for my yearly NHLView update. Over that last few months I've been actually able to put significant time into
advancing NHLView NG so that it's ready for this NHL season. And I'm happy to say that it has almost all the basic functions I wanted for the initial release.
Keep checking this page in the upcoming weeks for the release information; in the meantime, here are some new screenshots from NHL 14 database:

January 2, 2013

Happy New Year everyone, especially to those who still visit this page. One day it will happen - new NHLView will see the light of day.
Today is not that day, but some exciting news does come for PS3 owners. Recent developments in PS3 reverse engineering made it finally possible
to decrypt and re-encrypt roster save files for NHL 11, 12 and 13 (previous save games were not encrypted). Now the only real obstacle left is time.

In the meantime, I created a poll in the forum to help me evaluate how many people
play the game on various platforms. Please cast your vote, you do not even need to be registered (although I would appreciate if you do, or at least log-in if you have an account). Thank you.

October 8, 2011

The forum has moved to a new location. Please Ctrl-F5 this page if you still see the old URL.

September 30, 2011

I know there hasn't been a lot of updates in a while, but there are a couple of good reasons for it. Firstly, I tore my ACL last winter and only now I have a feeling
that I recovered well enough from the surgery to resume playing sport and other everyday activities. Now I know first-hand what all those players go through - and it ain't pretty. Secondly, and more
importantly, me and my wife had a son just a month ago. Isn't he cute:

As for software updates, I have a somewhat unexpected release. StrEdit 3.0 has been released with an update that was due a long time ago.
With this version you can finally modify string hash values which will allow you, among other things, to change team abbreviations in the front-end. Visit the page of StrEdit to see the screenshot
of Atlanta Thrashers changing its name to Winnipeg Jets in my installation of NHL 09. The process is not super obvious, but I described it as well as I could in the readme. Maybe eventually
it will make its way into NHLView.

As for NHLView NG progress, I have nothing new to report really. I do not unfortunatelly have enough time at the moment to keep working on it. One day, one day...

February 11, 2011

Here is an update on what's going on with NHLView NG and related research: I'm sure a lot of PS3 owners have heard of a little project called PSGroove which, with help of some other
tools, allows you to copy your Blue-ray game onto external hard drive and play the game off it. One nifty thing about this process is that files are stored on the hard drive unencrypted
which means one can freely look at them. This is of great help for NHLView NG research because it turned out that EA left the whole DB structure metadata on NHL11 BD. With this information
I now have complete description of roster format. This information may even help uncover the meaning of some previously unknown fields from PC rosters. I present you this screenshot of
a development build of TDBView which has NHL11 default roster open along with metadata information:

Now, this does not solve the problem of NHL 11 saves being encrypted so save files can still not be edited; however, it opens the possibility of modifying the default (and consequently exhibition)
roster for PS3 users who are willing to use PSGroove. In any case, I'm working with the assumption that it will be eventually possible to easily extract the roster and pack it back on
PS3 (this is already the case in NHL10 and below). Roster extraction is not the main focus of NHLView NG development; having the roster file I'm concentrating on adding support for editing of
its main constituents: players, teams and line ups. Hopefully by then there will be tools to integarte the modified rosters in the game. Now that PS3 is wide open, this is not far fetched.
Good job PS3 homebrew community, maybe we'll see NHL modding days resurrect with vengence! I certainly hope so.

In other news, forum has been cleaned up. Sorry for the mess, I have little time these days to keep it clean on a regular basis.

September 17, 2010

I just got my copy of NHL 11 for PS3 today. It's sad, but unfortunately this year the roster files are encrypted and therefore cannot be either edited or even copied between two consoles. So no NHLView for NHL 11. I will however keep working on the editor for NHL 10 as time permits.

April 12, 2010

For those who've been wondering waiting for updates, I'm finally at a stage where I can post one. With NHL franchise dead on PC, it is unlikely NHLView will keep evolving. That doesn't mean however that new versions of NHLView are not going to be released in the future. I'm working on adding support for Next-Gen platforms: PS3 and Xbox 360. I've made some progress in the last few weeks: NHLView can now read players, teams and rosters (including free agents). It's far from being ready, but here are some screenshots of progress to date.

May 22, 2009

NHLView 6.1.5.22 released. New release concentrates on bug fixing based on reports in the Forum. I also included a new Rules & Options Editor, although it is incomplete. A complete changelog can be found in the read me inside the archive.

December 24, 2008

NHLView 6.0.12.24 released. I apologize for the delay, but hopefully new features will be worth the wait. One of the new cool features of NHLView is its ability to preview in-game graphics and play-by-play. Enjoy and Merry Christmas to everybody. As usual you can leave the bug reports in the Forums.

October 27, 2008

Starting from this year, none of the newer programs will support Windows 9x. Key Remapper is the first one.

April 15, 2008

My hosting provider has been moving to a new platform lately so some things might not have worked as expected, but everything is back to normal now. In particular, the forum is functioning properly again and those of you who received Trojan warning in the antivirus by visiting the site should be fine now. Big thanks to Dan Sgambelluri for the heads up!

February 12, 2008

Just to update you on lack of updates: I'm still working on the next version of NHLView. It takes longer than I expected because I've been caught up in work and personal matters.

November 25, 2007

NHLView 5.0.11.25 released. This is mostly a bug fixing release from reports that I received in forums. No new features were added in this release; however, next version will have a very interesting new feature. Check these News for updates. Thanks to everybody who took time to report the problems.

October 27, 2007

NHLView 5.0.10.27 released. Added support for NHL 08 and some new cool features such as draft pick trading in dynasties. Note that if you used a temporary trick to rename nhl2008pc.tdb to nhl2007pc.tdb to load db.viv, please remove nhl2007pc.tdb from db.viv. Otherwise, NHLView will detect the roster as NHL 07. As always, leave bug reports in the forum.

September 14, 2007

September 10, 2007

The forum has been upgraded to PhpBB 3 Release Candidate 5. I hope this will slow down the amount of spam on the forum. Also the URL of the forum has been changed, it is now http://www.artemkh.com/board. Please update your bookmarks.

With regards to NHLView for NHL 08, I do not have any updates. Once the game is released, I will post an announcement regarding my plans to support it.

September 19, 2006

StrEdit 2.0 released. This program allows you to edit text files of NHL games from NHL 98 to NHL 07.

September 17, 2006

TDBAccess 2.7.9.17 released. Fixed a serious bug where writing a value bigger than field size could cause values in other fields of the same record to be overwritten. All users are advised to upgrade.

June 27, 2006

Small intermediary CSS changes to the site. This is not what I meant by design change yesterday.
A whole new layout will be done shortly.

June 26, 2006

The site has permanently moved to this new address: www.artemkh.com.
Moreover, it will soon undergo a design change. I have not been updating the site much ever since I started working, so
some fresh look-and-feel to go along with the new domain will do good.

On NHL side, there will probably not be many updates until NHL 07 is out.

GTA: Liberty City components updated for developers looking to join the community effort.

GTA: Vice City version detection library added. It is required for LC components to work.

January 2, 2006

Before I go back to by winter hibernation, I'd like to wish everyone a Happy New Year 2006. To celebrate the occasion, NHLView 3.3 has been released. While
I didn't focus a lot on smaller reported bugs, I did introduce two new features in this version. You can now edit player's career stats as well as team strategies. Also,
I added an option to synchronize static player pool with exhibition player pool in NHL06. This should reduce (although probably not eliminate) the number of problems people had with dynasties.

Meanwhile the alert of TDBAccess and .NET 2.0 turned out to be false. You can use the current version of the library with the new Microsoft platform.

Finally, I'd like to apologize for the lack of e-mail and forum support from my side in the last few months. I'll try to reply to the messages I received shortly.

December 4, 2005

It appears that TDBAccess is not compatible with .NET 2.0. I will release a fix as soon as possible, but for now you'll have to use .NET 1.1.

Updated GTA: LC page. Added the latest source for the launcher. Despite the release of GTA: SA and GTA: LCS, Liberty City project is still alive and well. New version will be released shortly and for those who haven't tried it yet, I highly recommend to visit the official "site". It's truly amazing how one game can be so completely transformed into another (for the record, GTA: LC is a mod for GTA: Vice City).

October 16, 2005

NHLView 3.2 released. I fixed most of the issues reported on the Forums relating to player creation. I appologize for releasing such a buggy version. If you edited player data in your seasons with NHLView 3.1 chances are your whole roster is only good for Recycle Bin.

October 10, 2005

NHLView 3.1 released with NHL06 support. Note that I haven't had the time to test it with NHL06 Patch #2 because it just came out.

TDBAccess 2.6 SP3 released. No new features, it is just recompiled with the new TDB engine used in the latest NHLView.

September 29, 2005

September 12, 2005

Many of you already know that user.log of NHL 06 didn't change from 2005 so the old Key redefiner still works.
But the descriptions for some buttons have changed so I released a new version which can switch between 2005 and 2006 key descriptions.
Grab it in Miscellaneous.

August 2, 2005

NHLView 2.2.8.2 is released. Among other things, new in this update are
the ability to choose player ID on creation and the fixes to the bugs with additionals and placeholders.

TDBAccess 2.6.8.2 is released. The update is very minor and will not conflict with previous version, so you ca just safely use it.
It simply fixes a minor issue in the TDB engine, related to the fact that NHLView wasn't working well with additionals.
Nothing has been changed in the interface, only the internals.

July 21, 2005

Given the negative attitude of some people toward "Hot Coffee Mod" for San Andreas and subsequent re-rating of the game,
the link to the mod has now been removed from the site. I'm still in shock over this whole story. There are so many
mods out there that let you put "adult content" in all kinds of games, from Sims to Leisure Suit Larry, which is
already adult enough to merit a higher rating that San Andreas. But no, GTA is the evil of all games, always has been.
Anyway, I'll end my rant here and go back to my summer hibertation.

But just before I go, I can assure you that I will make everything possible to add support for NHL 2006 to NHLView.

July 9, 2005

While playing GTA: San Andreas, I encountered yet another common bug. All the basketballs disappeared
from my game. Since I haven't seen any working solutions for the problem, I decided to write a fix myself.
If you experience this problem, you can download the fix in GTA: San Andreas
section. Note that it has only been tested on GTA San Andreas v1.0 US and will work only on
unmodified main.scm.

July 5, 2005

The design of the whole web site is finally changed. The old, unnecessarily cluttered pages are gone
and a more convenient menu is now in place on the left. If you feel the new site can be improved,
don't hesitate to leave your feedback in the Forum.
The site has several new sections with interesting new contents:

With the release of GTA: San Andreas, there is a new section devoted to this game.
I have written several programs for it, and you can find them there.

Some of you may know about the existance of the community project, GTA: Liberty City,
aimed to port the game GTA 3 on the GTA: Vice City engine. I have been involved in this project for a long time
and I think it's time I devote some time to it on my site.

Not many personal web pages have no information about its author. Mine was until recently one of the few. This has now changed
with the addition of the new sections, About Me and My Projects.
In the former, I talk a little bit about myself and in the latter I present some of my other works, not directly related to
the gaming contents.

GTA: San Andreas GXT Editor 1.3 is released. New in this version are faster interface,
import from/export to a text file, character map editor and other small improvements.

It is very likely that new version of NHLView will not be released until NHL 2006 comes out.
But given the fact that everybody (myself included) will be three times more excited this season than before, I promise
that NHLView will support NHL 2006.

It is also possible that an all new Play-by-play Studio written totally from scratch will be released
some day. To remind those of you who have not heard, I put a cross on it prior to NHL 2005 release because the audio format
of the new play-by-play files was different than previous years. But it is not as bad as it first looked.

News from the old site have been removed to forget as quickly as possible about the old web site.