What would I need to know if I am to start hacking consoles/handhelds?

Discussion in 'General Gaming Discussion' started by MindC0ntroll, Jul 16, 2012.

  1. MindC0ntroll
    OP

    Newcomer MindC0ntroll Advanced Member

    Joined:
    Jul 16, 2012
    Messages:
    87
    Location:
    California
    Country:
    United States
    I want to get involved in hacking consoles/handhelds (more on handhelds like Vita and 3DS)
    Im not very knowledgable in computer programming/programming code/terminology and such which is why I want to ask you guys! :)

    What would I need to know if I am to start in this? Would I need to know many programming languages? Hardware architecture? terminology? anything? Basically, just about anything involved in hacking game consoles. I am willing to put in the time and effort in learning everything I can about this (I have the summer and time during the weekends). I just want to hack game consoles merely for interest and to see if I can help others customize their game consoles and such. Right now, Im really interested in the Vita and 3DS hacking scenes. I know I sound like a noob (since I am one) but I just need some help and advice. Can someone give me a list on what I should know before I attempt to hack game consoles? Thanks for any replies!
     
  2. FAST6191

    Reporter FAST6191 Techromancer

    pip
    Joined:
    Nov 21, 2005
    Messages:
    21,705
    Country:
    United Kingdom
    Everything- learn it

    That is not very helpful and in some ways the usual in of learn low level stuff (data structures and what have you), be able to muddle your way through high level stuff (databases and real world concepts), electronics and computer architecture, some C programming, some high level programming language so as to be able to knock stuff out quickly (ever had to download java or a python interpreter to get something working?) is not as viable as it once was or at least not quite as "easy".

    You can learn to hack games and that will usually do OK for the first three on that list.

    For actually hacking consoles as much as I hate to say it and much prefer the first paragraph that is not so viable as far as modern stuff goes (although what came before was by no means truly simple right now it is a thrown in the deep end scenario) so instead find a project you like and figure out what you are going to need to learn to improve it and then do so and at the same time continue learning the basic stuff- pull apart a controller and consider how you would do rapid fire, then realise rather than an external chip the internal controller probably has a nice alternative, figure rather than rapid fire there may be pattern to a level/action (automated guitar hero or just something like gears of war timed reloads) and make that instead and then find a nice old project before realising that either A) it uses an ancient chip out of production or B) it builds a complex device from fundamental components and then figure out how you might start adapting it to an off the shelf chip or even a programmable one.

    What can still be from the first paragraph is watch http://www.youtube.com/user/ChRiStIaAn008 (pretty much pick a video, pick another and pick another after that), I quite like http://www.youtube.com/playlist?list=PL6B940F08B9773B9F and I am not sure what I rate for electronics these days but http://www.youtube.com/playlist?list=PL9F74AFA03AA06A11&feature=plcp probably works still and I really like some of the stuff from http://www.eevblog.com/ .

    Now in this case I do not feel the need to say it but it will be some time before you find yourself staring down a microscope trying to solder something onto a trace you had to scrape off in a bid to snatch a key piece of data as it flies across the bus at some point but there is always room for someone to build nicer tools (DS ROM hacking is quite advanced but there is no tool like umdgen that can relink files in a rom and nor is there much for the 3d or some more complex aspects of sound hacking) or polish a GUI/add some more abilities to it/pull the abilities from a project and spin it into another (on the Wii or anything else for that matter I really really do not care for animated covers with shiny table effect but some of the loaders there beat my favoured might as well be text only things in terms of actual features). Doing that you will probably brush up against things you do not understand at the time and have to learn those which means you get to move sideways after that.

    I have some more links and things on http://gbatemp.net/topic/287721-some-hacking-concepts-and-links/
     
  3. MindC0ntroll
    OP

    Newcomer MindC0ntroll Advanced Member

    Joined:
    Jul 16, 2012
    Messages:
    87
    Location:
    California
    Country:
    United States
    What programming languages should I learn? I heard python, java and C# are very helpful
     
  4. Rydian

    Member Rydian Resident Furvertâ„¢

    Joined:
    Feb 4, 2010
    Messages:
    27,883
    Location:
    Cave Entrance, Watching Cyan Write Letters
    Country:
    United States
    Once you know one language it's a lot easier to move onto another, so a common concern is which languages are easy to start but don't teach a lot of bad habits.

    For that, Python is often recommended.
     
  5. MindC0ntroll
    OP

    Newcomer MindC0ntroll Advanced Member

    Joined:
    Jul 16, 2012
    Messages:
    87
    Location:
    California
    Country:
    United States
    Any good sites to start leaning python?
     
  6. Snailface

    Member Snailface My frothing demand for 3ds homebrew is increasing

    Joined:
    Sep 20, 2010
    Messages:
    4,324
    Location:
    Engine Room with Cyan, watching him learn.
    Country:
    Antarctica
    You must be right because that's the language taught in first semester programming at my college. C++ is taught second semester.
     
  7. kirlac

    Newcomer kirlac Member

    Joined:
    May 17, 2009
    Messages:
    49
    Country:
    New Zealand
    If you're hacking games/consoles don't you need to know a lot of low level stuff (memory management, hex editing etc.)? You would also need a very comprehensive understanding of programming, probably something like C that gives you a lot of control over the aforementioned low level stuff.
    Whilst something like python, java or C# would be a good way to learn programming and would allow you to make games if you wish, its only use in hacking would be as a stepping stone to something more relevant (again C & hex editing). If you want to hack you're probably looking at a few years worth of learning the basics before you're ready to start actually doing anything useful. Most people that start hacking at least have a good understanding of programming logic before they start learning the actual hacking stuff. Otherwise they would be looking at a wall of gibberish with no idea what any of it means, let alone how to manipulate it.
    Understanding hardware would probably help too, as you would most likely need some sort of chip/circuit to manipulate the console you are hacking (if, like psvita/3ds, it hasn't yet been exploited to the point where people are able to manipulate it via softmodding techniques).

    Off-topic: I always find it amusing when people with little/no experience with programming ask for advice on how to do things that a lot of experienced programmers would struggle with (myself included, I'm not very fluent with hex editing or anything like that). On the other hand, it's great that you are expressing an interest. We always need more people learning this stuff to drive the progression of technology. Just know that you're probably in for a long ride before you're ready to actually do what you're asking about and I wish you the best of luck.
     
  8. MindC0ntroll
    OP

    Newcomer MindC0ntroll Advanced Member

    Joined:
    Jul 16, 2012
    Messages:
    87
    Location:
    California
    Country:
    United States
    I am genuinely interested in hacking game consoles/handhelds so if I require a couple of years to learn, then I guess I'll do it since Im also thinking of getting into computer or game programming. My question is mostly on where to start and what should I learn before I attempt at hacking game consoles, ROMs etc.
     
  9. Rydian

    Member Rydian Resident Furvertâ„¢

    Joined:
    Feb 4, 2010
    Messages:
    27,883
    Location:
    Cave Entrance, Watching Cyan Write Letters
    Country:
    United States
    The basics of computer science, I suppose. Stuff like the different bases (binary, octal, hex), then into other basics like files and processes and programs and hex editing and how memory works and such, then you would have an easier time understanding concepts run over during courses teaching programming languages.
     
  10. raulpica

    Supervisor raulpica With your drill, thrust to the sky!

    Joined:
    Oct 23, 2007
    Messages:
    10,657
    Location:
    _____________ PowerLevel: 9001
    Country:
    Italy
    I'll give my spin on this - screw the high-level programming languages. You need to start thinking in assembly. Study 68k, 6502 and everything you can put your hands on.

    Fill your head with OPCodes and the general working of registers and microprocessors. Start coding for it.

    Study electronics engineering. You need to understand signal levels, ICs of any kind, especially how RAM chips work, how they do store data, and the architecture of a system.

    After you've understood all of this, try exploiting an old console or something (go read the GBA and/or NDS docs on Martin Korth's site), make an Hello World in assembly, run it on the machine, and THEN you can start caring about high-level programming languages.
     
  11. chains_of_androm

    Member chains_of_androm GBAtemp Regular

    Joined:
    May 8, 2012
    Messages:
    104
    Country:
    United States
    Comp sci and electrical engineering.
     

Share This Page