Jump to content

Want to start hacking


xgunawan

Recommended Posts

I want to do a VN translation with my friend as a translator while I'm on the hacking side. I have a basic knowledge on Java, but zero experience with hacking. I had tried searching on this forum about hacking guide and tutorial, but it seems there's none of it. Can anyone do a tutorial or guide about it? Or maybe tell me what do I need to do hacking on VN? Thanks in advance.  :D  :D

Link to comment
Share on other sites

I don't know it either, but basically it's just extract the game file > modify it > then repack it again isn't it?

I have heard, there is software called kikiriki that can help with that... i am not really sure though since i have no experience with magic (hacking).
If you want to translate a game, i heard there is a way to translate vn without hacking in this site : https://sakimichi.wordpress.com/2013/09/19/translating-visual-novels-without-hacking/

don't ask me if there is something that you don't understand because i don't get it either. hope this help.

Link to comment
Share on other sites

You say you know some Java...do you know how to use the classes which read, write and process binary files as well as text files?  'Cause you're gonna need that...

 

And yes, the first step is to do some research to find out what engine your VN uses.

You need to know if there are already tools/info available for it which will save you time.

Link to comment
Share on other sites

Step 1 would be to find out if the VN you want to hack is using one of the major engines. If so there might be tools available for you to extract the assets without actually having to do the legwork of hacking.

 

Flat out VN hacking is not a simple task and there aren't a lot of learning sources available, I'd mainly suggest doing it if you already have a well defined interest in computer science and would think of reverse engineering as good practice (Which is how I am approaching it, and I am just starting out). If you are just wanting to get involved in a VN project and think hacking is the best way to do it... it might not be.

Link to comment
Share on other sites

There used to be a "tool hacking" guide on these forums back in the days I still used to visit but it seems to have been removed for revision or something.

 

Anyways for like half of the games you can usually use tools already made (mainly for the older games) so you don't really need to do anything but find the tools. You can learn about the basic extraction tools here https://haibara4cgrip.wordpress.com/my-cg-ripping-tools-v2-7-english/ (the links probably wont work but if you google them you should find them). lot of these can only extract and not put together but that can serve as a base for the translation, then you can search more specific tools such as these http://tlwiki.org/index.php?title=Tools (and there is many more that aren't even listed anywhere) that will help you decrypt the script files and put together the archive.

 

All in all it depends on the game you are trying to translate, if someone already translated a game that is based on the same engine (all of the old krkr games, the games using the majikoi engine with mjo's etc) its just about looking up the tools.

For new games or engine specific games it will be a bit hard and most often than not you will need to either modify the tools or write your own and that is the hard part.

Sadly most of the people who would be able to help you has left fuwa (retrans, rusanon etc) so unless there is someone new who is as good as them you'll have to probably extend your reach from here to get help in that sense, I would strongly recommend forums such as hongfire where there is lot of very good programmers who specialize in making machine patches for hentai games and such (you can usually see those as HF-patch) and can help you with all kinds of eroge hacking problems too.

 

So yeah, if you want just one game then you can PM me (since I probably won't visit this topic as I just saw it randomly when i was updating the EH status and decided to help, but I still keep email notifications for PM messages here so those will reach me) and I'll see if there is anything I can help you with or at least point you to the right place where you can find help.

Link to comment
Share on other sites

Is it feasible to learn how to hack from online courses/guides or would you all recommend learning some kind of specialty in two years while working toward a computer science degree?

 

Well, if you have the opportunity to take CS courses, that sounds interesting to me anyway, but if not, I think there is enough material online to learn from otherwise.

I think the bits-and-bytes type of courses, like computer architecture or assembly languages etc. would be the most helpful for hacking, courses on database management and web sites probably not so much.

Link to comment
Share on other sites

Actually, I want to learn that too. I'm on a computer science's degree in college, about to start my second year. I've learned a lot about programming already, and I can read/write in binary/text files (C language only, though). Hmm, my guess, it's that what you need to do is find the files with the scripts, write something to extract those and save it in another archive in proper text format. In that file, you translate the game, etc. Then, write something else to rewrite the original game script files with the translated text in original binary format. This is all just conjecture, I never looked in detail how the process works. My question is, the first extraction, with the untranslated text, if I just use the ASC II table to convert the binary to text, will it convert to japanese? I don't think I've seen japanese on ASC II table.

Link to comment
Share on other sites

You don't need to take a course to learn how to hack, you just need to have developed a proper CS mindset. Proper hacking requires programming and assembly code reading, but beyond that, unless you are hacking a novel using a common engine (Which would likely have an extraction tool available anyways), each process you are trying to hack is it's own puzzle which you won't have a guide for solving. As I said before, I believe learning VN hacking is for people who have a well defined interest in CS; if you properly program in your spare time or are in middle of getting a CS degree, then reverse engineering might be a helpful thing to practice alongside programming.

 

This is the only real VN specific tutorial I found for the reverse engineering side of hacking. It goes over the basics of reverse engineering VNs, but it is a real pain to read and contrary to what the writer claims assumes a lot of prior knowledge. I would suggest taking it slow and trying googling anything he references that leaves you confused (especially reading ASM code, as his intro will leave someone with no prior ASM knowledge lost). 

http://proger.i-forge.net/Stage_Once_-_a_Visual_Novel_hacking_tutorial/IPD

Link to comment
Share on other sites

You don't need to take a course to learn how to hack, you just need to have developed a proper CS mindset. Proper hacking requires programming and assembly code reading, but beyond that, unless you are hacking a novel using a common engine (Which would likely have an extraction tool available anyways), each process you are trying to hack is it's own puzzle which you won't have a guide for solving. As I said before, I believe learning VN hacking is for people who have a well defined interest in CS; if you properly program in your spare time or are in middle of getting a CS degree, then reverse engineering might be a helpful thing to practice alongside programming.

This is the only real VN specific tutorial I found for the reverse engineering side of hacking. It goes over the basics of reverse engineering VNs, but it is a real pain to read and contrary to what the writer claims assumes a lot of prior knowledge. I would suggest taking it slow and trying googling anything he references that leaves you confused (especially reading ASM code, as his intro will leave someone with no prior ASM knowledge lost).

http://proger.i-forge.net/Stage_Once_-_a_Visual_Novel_hacking_tutorial/IPD

I had skimmed the tutorial. Is this tutorial still usable with the latest VN right now?

Link to comment
Share on other sites

I had skimmed the tutorial. Is this tutorial still usable with the latest VN right now?

 

The method would still be about the same, the only thing that might become outdated would be if a more efficient debugging tool becomes available. I haven't heard anything about IDA Pro or OllyDbg being replaced.

Link to comment
Share on other sites

Actually, I want to learn that too. I'm on a computer science's degree in college, about to start my second year. I've learned a lot about programming already, and I can read/write in binary/text files (C language only, though). Hmm, my guess, it's that what you need to do is find the files with the scripts, write something to extract those and save it in another archive in proper text format. In that file, you translate the game, etc. Then, write something else to rewrite the original game script files with the translated text in original binary format. This is all just conjecture, I never looked in detail how the process works. My question is, the first extraction, with the untranslated text, if I just use the ASC II table to convert the binary to text, will it convert to japanese? I don't think I've seen japanese on ASC II table.

 

That's basically it.  But let me tell you something about Japanese text for a second...

 

Japanese text doesn't use ASCII encoding.  On Windows it uses Shift-JIS (the infamous WIndows "language for non-unicode programs" setting switches running programs from ASCII to Shift-JIS when you change it to Japanese) or it uses Unicode (the one encoding to rule them all).

 

Also, some games you'll find that after you decompress (and if necessary decrypt) the script files, it already IS text--In some games the engine is driven directly by text files.  In others, the script file is a mixture of binary code and text (more on that some other time maybe)

 

Finally, think about what it really means to convert from binary to text.  Using ASCII as an example, a file contains a letter A is 41 (hexadecimal value).  Assuming it's uncompressed & unencrypted, if you look inside the file with a hex editor, there will be a 41 there regardless of whether it's a binary file or a text file.  The real difference is that a binary file allows any byte value, but a text file only allows values that are valid text symbols or a few allowed special characters like the much-beloved \n.  (If you create a text file that has bytes that are not valid text, you're probably headed for trouble.)

Link to comment
Share on other sites

Most of my knowledge on hacking came from doing research online. I usually only read up on stuff when I come across an encryption I can't decipher. Most game files (like .CPK for PSP, .bin, etc.) already have programs that can extract them, so I suggest keeping a stock of extraction tools. Debugging tools and hex editors are also useful, especially when decrypting files or locating specific files.

 

Your knowledge on coding will be useful for making your own decryption tool (when you can't find one that can do the job) and making game trainers (which is usually a last resort when you really can't decrypt the file, so you overwrite them in the process memory).

 

You'll slowly learn more techniques as you hack more games. xD

Link to comment
Share on other sites

  • 4 weeks later...

As mbl said earlier, there are probably tools out there for the heavy lifting.

When I picked up Shinobi Ryuu I did some research and tried out the Wizard Climber tools since the game engine looked the same. I then ran into some minor issues with repacking but the tool was open source and managed to do some minor changes so it would repack but "adapting" source code in languages you're not confortable with shouldn't be a big deal (even tho it may not be optimized) if you have a good CS/Programming mindset.

 

 

Most of my knowledge on hacking came from doing research online. I usually only read up on stuff when I come across an encryption I can't decipher. Most game files (like .CPK for PSP, .bin, etc.) already have programs that can extract them, so I suggest keeping a stock of extraction tools. Debugging tools and hex editors are also useful, especially when decrypting files or locating specific files.

 

Your knowledge on coding will be useful for making your own decryption tool (when you can't find one that can do the job) and making game trainers (which is usually a last resort when you really can't decrypt the file, so you overwrite them in the process memory).

 

You'll slowly learn more techniques as you hack more games. xD

Link to comment
Share on other sites

It really depends on wether you have a programmatic aptitude or not.

Most people do not.

If you find coding logical and easy you'll be fine otherwise you will just

end up giving up same with any speciality just because you can find the tools

doesn't mean you can learn it.

I'm at best okay at programming so I wouldn't want to attempt reverse enginering something

as it's going to be more complicated that building it yourself. I would say the test is if

your still working on it after 100 hours you can probably make progress even then

it's more like a 1000 hours to get good. An adept programmer has skills on par with a doctor.

Link to comment
Share on other sites

  • 3 months later...

By me most people just lazy. I am not a programmer myself, but it is really not hard to do some logical analysis of the files or (this one is a bit harder, as really imply some logic) do a debugging of the game in built-in debugger (mostly because 99% of debuggers are just useless crap).

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...