Home Page
Projects > HackPics
Projects > HackPics

Warning: you do not have javascript enabled. This WILL cause layout glitches.
HackPics Thumbnail
HackPics v1.01
Reverse engineering project to extract pictures from a PlayStation2 game
Rating: 8 (Took some good hard work and achieved my goal.)
Project Time: Oct 2004-10/31/2004: 15
Languages: C
Requirements: One of four games in the .Hack//INFECTION series
Downloads: Binary Source (See any updates below for prior versions)
Sections: Information, Content, Concepts, Notes, Updates, Comments
I really liked some backgrounds on a virtual computer desktop of the first .Hack PS2 games and wanted them for my computer, so I got them.
Github Repo

See here for more information on the .Hack franchines. So the PS2 game had some very spiffy unlockable backgrounds for the desktop within the 4 games, and I really wanted them. So, I went to work reverse engineering the game and finding them inside the game DVD disk, which coincidentally, allows access to all the games textures.

The source code is really not well organized and hard to understand, so I made a few modifications for the v1.01 release, but I really need to update it more... maybe later. I had already released this project a while back, with source code, IIRC, but never tried to really publicize it.

I may at some point write down the techniques I used to get at the data, which takes a lot of leaps of logic, guessing, and critical thinking... which is of course what all reverse engineering and hacking takes, which is why it’s so fun :-).

Project was originally titled HackStract.

Original ReadMe: (Slightly modified)
Why I made this program:

First, I believe this program will probably work on many Playstation/PS2 games (with a possibility of minor tailoring), unfortunately, I cannot find out if this is so, as I do not myself own a PS, PS2, or any games besides the .hack series (don’t ask). So hopefully, with this research, and provided source code, others may be able to make a fully functional utility for the PS’s that can extract this kind of content.

The Story:

One night after finally finishing the .hack games, I decided I wanted backgrounds from the .hack OS desktop for my real desktops. I scoured the internet to no avail, very disappointed that I was unable to find them. I decided to write this program then and there, which unfortunately, I put on my “to do” list and didn’t get to for about 6 months afterwards :-).

I worked hard on it when I had free time for about 2 days and extracted all the backgrounds that I wanted (there was one background that has problems which I will get to later on. See the source code comments), and I was going to drop the project there, but decided to go ahead and finish it up because other people might find my research useful.

The Functionality:

I gave the program simple functionality to be able to browse through all the pictures in the .hack discs. Unfortunately, there are lots of little bugs in there because I was unwilling to spend the extra time reverse engineering the rest of the format. My notes on the remaining bugs are as in the main source file.

How to use:
  • Copy data.bin (from your .hackCD/data folder) to the directory this program is in. You can directly link to it on your DVD-rom drive if you edit the 1st uncommented line in the WinMain function (programming stuff).
  • The listbox controls what picture is displayed on the screen or saved with the buttons.
    • Space: goes to the next valid picture (not really needed anymore since at least 90% of the files show pictures).
    • 1-9: Change the “width” of the picture. The program sometimes inaccurately judges the width (as I did not reverse engineer all the variables). This will be seen as 2 or more almost identical pictures side by side. 5 is the base, 1-4 makes it shrink in 50% intervals, 6-9 makes it grow in 50% intervals. (Example: cw1hsw00_4 should be setting 4).
    • All other keys control the listbox as normal (pageup, pagedown, up, down, letters, end, home, etc) Listbox maintains focus.
  • All files saved with the buttons are saved in the same folder that the program is executing in (where the data.bin is).
  • Bitmaps are saved in palette format (usually 8bit/256 colors), as they are originally stored in that format.

Jeffrey Riaboy (Dakusan) 10/31/04

Screenshots and Game Desktop Backgrounds:

HackPics screenshot

Game Desktop Backgrounds (Only a couple of the very many backgrounds are available here)
.Hack Game Background

.Hack Game Background

.Hack Game Background

.Hack Game Background

.Hack Game Background

.Hack Game Background
Reverse Engineering
This might be usable for other PC or console games, most likely more PS2 games, as they might use this same file archive format. The program might take a little tweaking for them however.
GitRepo for HackPics @ 2015-10-05 18:52:30

Continuing my attempt to get stuff moved over to GitHub, I just added a GitHub Repo for HackPics.

This is a rather old project that I originally created in late 2004. It had some minor modifications done to it in mid 2008 to help with the code clarity so others could work with it easier. I was requested to add it to GitHub a few weeks back, so here it is. Strangely enough, this has always been one of my most popular Projects. Always seems to happen with video game utilities/projects.

The rather long explanation of the project history and my findings regarding this project can be found in the request thread on my forum.

Dakusan License v2.0 @ 2009-11-04 16:06:57 - Download

I have updated the licensing information across the board for my website and all its projects to the Dakusan License v2.0, a slightly modified version of the Original BSD License.

The Copyright page and all project downloads have been updated accordingly.

Added Readme files to all project downloads @ 2009-09-19 05:35:19

Binary and source zip downloads for all Projects now have readme files in them, except as mentioned below.

This only applies to the Draw Image Project in Web Scripts, and not the Directory Manager project (The only project zip file now without a readme).

HackPics v1.01 @ 2008-06-11 18:09:04 - Download
  • The source code is really not well organized and hard to understand, so I made a few modifications for the v1.01 release, but I really need to update it more... maybe later.
  • Added about window and version information
  • Added window resizing routine to resize/move window controls and make sure background stays the proper color
  • Updated project's page
    • Updated screenshot to reflect new changes
    • Updated contents
    • Added original ReadMe to contents
  • Removed obsolete WriteRam class

v1.01 Source
HackPics Project Upload @ 2006-11-10 21:06:12 - Download
The .Hack//Game picture extractor was a reverse engineering project I did that extracts all the texture/picture(s) from the first 4 .Hack games. I did this because I badly wanted the backgrounds from the virtual desktop in the game. An example is included in the zip, which is the original release file from 2004. All you need is the original PS2 game discs and a DVD drive.
To add comments, please go to the forum page for this project (guest comments are allowed for the Projects, Posts, and Updates Forums).
Comments are owned by the user who posted them. We accept no responsibility for the contents of these comments.

No comments for this Project