Home Page
  • March 28, 2024, 04:19:36 pm *
  • Welcome, Guest
Please login or register.

Login with username, password and session length
Advanced search  

News:

Official site launch very soon, hurrah!


Author Topic: HackPics  (Read 43943 times)

Dakusan

  • Programmer Person
  • Administrator
  • Hero Member
  • *****
  • Posts: 535
    • View Profile
    • Dakusan's Domain
HackPics
« on: September 28, 2009, 05:32:55 am »

Full content for the HackPics project can be found at https://www.castledragmire.com/Projects/HackPics.

Description: Reverse engineering project to extract pictures from a PlayStation2 game
Information: 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.
Languages: C
Logged

Dakusan

  • Programmer Person
  • Administrator
  • Hero Member
  • *****
  • Posts: 535
    • View Profile
    • Dakusan's Domain
Re: HackPics
« Reply #1 on: September 28, 2009, 08:08:39 am »

I received an email 2 days ago regarding this project, and unfortunately, when I tried to reply, the email address given was invalid :-\. I figured I'd post the email here in hopes that he may notice it. Alas.

Belial on 09/25/09 at 11:26:54 PM -0500
Quote
Hi there!
I managed to come across HackStract some time ago, and was really impressed with its capability to get the pictures. I just recently found that you had updated it to have some new features. Thing is with the new program the textures aren't coming out clear.. They seem to be stacking transparencies on top of each other, which they weren't doing in the old program.
Anyway what I was wondering is if you happen to have an old copy of the HackStract source code still lying around.
What I am looking to do is be able to extract more then one file at a time, and still have them in that good quality from HackStract.
Please let me know if you get a chance ^~^

Thanks!
~Belial

The original binary and source of the first version are available in the first update for the project (also on the project page in the update section).

I am unable to reproduce the bug you mentioned, and cannot help without getting more info on the problem.

You are also actually not the first person to mention/request the want to extract multiple pictures at a time. I did not include this in the program because I hadn't finished reverse engineering all the variables and some pictures needed to be manually adjusted. It had never occurred to me people might want to dump them en masse even if some of them didn't come out right :-).
Logged

Xu Yuan

  • Newbie
  • *
  • Posts: 1
    • View Profile
Re: HackPics
« Reply #2 on: July 27, 2011, 08:39:30 pm »

Hello, Your HackPics tool from so long ago has been upgraded several times by other people by now, but it seems that none of them have yet put in Importing methods.
Just out of curiosity, how difficult is it to include such a function? The actual scope of hacking .hack has grown tremendously over the years and this is just one of the steps to create fully playable mods.
Logged

Dakusan

  • Programmer Person
  • Administrator
  • Hero Member
  • *****
  • Posts: 535
    • View Profile
    • Dakusan's Domain
Re: HackPics
« Reply #3 on: July 27, 2011, 10:16:47 pm »

Has it really been upgraded by other people? I had never heard ^_^; .

Importing would be a lot more difficult than extracting, and it also depends on how you would want it to work. For example, if you just want to overwrite individual pictures, you can just overwrite them directly in the data file with your new ones as long as they are not larger in size (byte wise). If you wanted to actually add new pictures without erasing old content, you would most likely have to know the complete structure of the data file and completely recompile it. There was still a lot in the file's structure I never worried about figuring out because I had no need for it.
Logged

Dakusan

  • Programmer Person
  • Administrator
  • Hero Member
  • *****
  • Posts: 535
    • View Profile
    • Dakusan's Domain
Re: HackPics
« Reply #4 on: August 14, 2015, 11:41:29 pm »

Honestly, this was a project from over 11 years ago. I am shocked anyone is even still using it, as the games are mostly ~13 years old.
I don't remember what I changed between the 2 versions, but anyone is free to change them all they want (perhaps compare the 2 versions and see what you can do). As a matter of fact, I've heard that other people have updated this project themselves elsewhere.

Quote
"Why not just improve upon hackstract and add the ability to see transparency >.>?"
*shrugs* I'm sure there were reasons I did the updates that I did between the versions. If it broke anything, it was unintentional. This was never meant as a project that would get long term maintenance.

If someone else wanted to work on it out there, I'd be happy to upload it to github with versions intact.

Just did a real quick check too. Looks like bitmaps are stored in their original 8 bit format (indexed colors). To fix any of the bitmaps that have transparency, the one transparent color index just needs to be replaced in the palette index. It's been a really long time, so I might not recall correctly, but I don't think I ever found where it stored what it considered the transparent color index. Perhaps it was always the same color.
Logged

Dakusan

  • Programmer Person
  • Administrator
  • Hero Member
  • *****
  • Posts: 535
    • View Profile
    • Dakusan's Domain
Re: HackPics
« Reply #5 on: September 24, 2015, 03:52:21 pm »

Been absolutely swamped with work and hadn't gotten to it yet, though the light at the end of the tunnel is nigh. Was hoping to get it done by this coming Monday.
Logged

Kamijou Touma

  • Newbie
  • *
  • Posts: 4
    • View Profile
Re: HackPics
« Reply #6 on: October 04, 2015, 12:20:07 am »

Still Waiting ;P
Logged

Dakusan

  • Programmer Person
  • Administrator
  • Hero Member
  • *****
  • Posts: 535
    • View Profile
    • Dakusan's Domain
Re: HackPics
« Reply #7 on: October 05, 2015, 01:42:51 am »

ALMOST caught up with my backlog. It's finally at the top of my list, so I should be tackling it first thing tomorrow :-) Things are just too busy :-\
Logged

Dakusan

  • Programmer Person
  • Administrator
  • Hero Member
  • *****
  • Posts: 535
    • View Profile
    • Dakusan's Domain
Re: HackPics
« Reply #8 on: October 05, 2015, 08:43:58 pm »

[Edit] Just for reference, the person that asked for this was being quite a jerk, and then deleted his posts after I wrote this. Apparently, some posts may have been magically erased from the forum, so no longer sure of the validity of this statement.


   OK, so I went back and did some research and searching, trying to refresh my memory on all this as it was all from almost a decade ago. I also put together the GIT repo that I said I would. It is at https://github.com/dakusan/HackPics .
 
   The initial release was from 2004-10-31. At the time, it was called HackStract.
 
   It was re-released under a new title on 2006-11-10, HackPics. I am unsure if there were any changes between the two versions, as I unfortunately do not have [easily accessible] backups, but I do not believe there was.
 
   Version v1.0.1 was released on 2008-06-11. I changed its label from v1.01 to v1.0.1 in the GIT repository to help follow other changes I had already made.
 The following are the changes I made in each commit between v1.0 and v1.0.1 (the current version).
Commit #1
  • Changing the name of the project/files
  • There was no functionality changes
Commit #2
  • Removed old useless, and unused libraries, and replaced them with standard libs.
  • A few punctuation/capitalization/spelling fixes in comments
  • There was no functionality changes whatsoever, besides some possibly better IO handling
Commit #3
  • No functionality changes. Mainly just file maintenance.
Commit #4
  • Added “About” window, executable icon, and executable version info
  • Re-branded from “HackStract” to “HackPicks” within the primary source file (for window titles and such)
  • Updated window and sub-window display information/dimensions. Made window resizing work better.
  • The text for “Loading Info” and “Parsing Stats” is now centered on the screen
Commit #5
  • Moved from using magic numbers when reading the info, to having an actual struct. This makes things much more clear.
  • This is the ONLY change made between v1.0 and v1.0.1 that touches the actual processing code. I personally checked during this repository compilation that all the numbers matched.

   So nothing important at all was changed from v1.0 (HackStract) to v1.0.1 (HackPics).
 
   I had a lot of other people interested in the project over the many years since I created it. People asking about it, asking me if I could help them with their projects, or modifications of my project. So I did a little Googling just now, and found this: http://www.dothack.org/files/file/70-hackstract/ . It is called HackStract v2, release in June of 2008, and was a either a modification or complete rewrite of my work. I am unsure if it is a mislabel, but it says the Author’s name is “CyberConnect2”, which is the name of the company that created the //.Hack games, and he is obviously not affiliated with the company. However, he said that it was based upon my work, so we can safely assume that he took the research done from the reverse engineering I did, and did more. He seems to not have included the source with it, but it may be out there, somewhere.
 
   My initial goal was to just extract the desktop backgrounds from the game, which I accomplished. I was never interested in making the extraction process perfect, but I am glad to see that others continued my work. If 2008 were like now, this most likely would have been done as a collaborative GitHub project, where they just built off mine. But 2008, and even-more so, 2004, were VERY different times. Most people would not even recognize the internet from then from what it is today.

[Edit] Fixed some formatting issues caused by Thunderbird when compiling this
« Last Edit: February 01, 2016, 12:02:46 am by Dakusan »
Logged

Kamijou Touma

  • Newbie
  • *
  • Posts: 4
    • View Profile
Re: HackPics
« Reply #9 on: November 29, 2015, 04:31:52 pm »

Thx Dakusan ;P
[Edit] Just for reference, the person that asked for this was being quite a jerk, and then deleted his posts after I wrote this.
A few people Believe that it was me who did this.
I also stated before here that something deleted my posts before and that it was in fact not me. I believe your forums at one point had pruned me because i was unregistered.
« Last Edit: November 29, 2015, 04:39:07 pm by Kamijou Touma »
Logged

Dakusan

  • Programmer Person
  • Administrator
  • Hero Member
  • *****
  • Posts: 535
    • View Profile
    • Dakusan's Domain
Re: HackPics
« Reply #10 on: November 29, 2015, 07:42:07 pm »

If that is the case, I apologize, but you were being rather pushy. Everything I do, I do for free in my spare time, so it's frustrating when someone is pushy like that. I'm pretty sure I wouldn't have deleted the posts. I only delete users with 0 posts.

What do you mean by "A few people Believe that it was me who did this."?
Logged

Kamijou Touma

  • Newbie
  • *
  • Posts: 4
    • View Profile
Re: HackPics
« Reply #11 on: November 29, 2015, 07:51:21 pm »

If that is the case, I apologize, but you were being rather pushy. Everything I do, I do for free in my spare time, so it's frustrating when someone is pushy like that. I'm pretty sure I wouldn't have deleted the posts. I only delete users with 0 posts.

What do you mean by "A few people Believe that it was me who did this."?
A few people on other sites called me out for "[Edit] Just for reference, the person that asked for this was being quite a jerk, and then deleted his posts after I wrote this.". And sorry if i seemed pushy >.> its a bad habit (patience is key and i need to learn it >.>).

I didn't deleted any posts, the posts that i believe got "pruned" by the forums automatically where posted when i was a guest before i registered here.

If i came across as a jerk however for any of my posts then i do apologize.
Logged

Dakusan

  • Programmer Person
  • Administrator
  • Hero Member
  • *****
  • Posts: 535
    • View Profile
    • Dakusan's Domain
Re: HackPics
« Reply #12 on: December 01, 2015, 08:51:28 pm »

Ah, ok. The assumption that you had deleted the posts was a very large part of it. I had assumed you had just come in, "demanded" something, and then when I gave you an answer that made you realize your original statements were completely wrong, you had deleted them and decided to hide that you asked it. I didn't add that "Edit" note until a week or more later, when you had not responded, which I found to be unlikely as innocent coincidence since you had been asking once or more a week. It is very believable that the posts were somehow deleted by the forum. I'm doing better now about keeping backups.
Logged

Kamijou Touma

  • Newbie
  • *
  • Posts: 4
    • View Profile
Re: HackPics
« Reply #13 on: December 07, 2015, 08:25:55 am »

Ah, ok. The assumption that you had deleted the posts was a very large part of it. I had assumed you had just come in, "demanded" something, and then when I gave you an answer that made you realize your original statements were completely wrong, you had deleted them and decided to hide that you asked it. I didn't add that "Edit" note until a week or more later, when you had not responded, which I found to be unlikely as innocent coincidence since you had been asking once or more a week. It is very believable that the posts were somehow deleted by the forum. I'm doing better now about keeping backups.
Haha its all good things happen and yes some of my posts where wrong as i didn't do enough research into the origin of this project because it was literally all over the place and at some points i kept hitting dead ends in search results when trying to get a copy.
Btw that edit note is still there ;P
Logged

bl4ck0ut07@gmail.com

  • Newbie
  • *
  • Posts: 1
    • View Profile
Re: HackPics
« Reply #14 on: October 06, 2018, 08:46:58 pm »

Hi, i asked on inbox , i was meaning if is possible to mod files with hackxtract , like replacing
Logged