Some questions

Discussion in 'NDS - Emulation and Homebrew' started by MyDePain, Jun 3, 2017.

  1. MyDePain
    OP

    MyDePain Advanced Member

    Newcomer
    83
    30
    Nov 23, 2016
    France
    Avignon
    Hello,
    I'm very interested in hacking and DSi / 3DS so I would like to know several things: Which language(s) do I have to learn? Which tool(s) do I need? Where do I start? I already know some answers but I want to be sure.
    I also want to know: How to find an exploit on DSi (or 3DS)?

    Thanks!
     
  2. Robz8

    Robz8 Coolest of TWL

    Member
    6,973
    2,955
    Oct 1, 2010
    United States
    You'll have to learn C++ and ASM (probably not the latter, though).
    Install devkitPro with devkitARM.
    You'll have to get a DSiWare game to crash somehow, then you try to run code when it crashes.
     
    Last edited by Robz8, Jun 3, 2017
    MyDePain likes this.
  3. MyDePain
    OP

    MyDePain Advanced Member

    Newcomer
    83
    30
    Nov 23, 2016
    France
    Avignon
    Just one last question: how do you run the code?
    Thanks
     
  4. Robz8

    Robz8 Coolest of TWL

    Member
    6,973
    2,955
    Oct 1, 2010
    United States
    I don't really know. I never exploited a game before.
     
  5. MyDePain
    OP

    MyDePain Advanced Member

    Newcomer
    83
    30
    Nov 23, 2016
    France
    Avignon
    Ok thanks
     
  6. Technicmaster0

    Technicmaster0 GBAtemp Psycho!

    Member
    3,239
    667
    Oct 22, 2011
    Gambia, The
    Explaining how it comes to code execution is relatively complicated. You have to overwrite parts of the program memory (outside of the area that the devs want the game to write to) and then let the currently running code jump to it. There are many videos on youtube explaining exploits, a buffer overflow exploit would probably be a good point to start learning about them.
     
    MyDePain likes this.
  7. StackMasher

    StackMasher GBAtemp Regular

    Member
    118
    57
    Nov 29, 2016
    First of all, you need to learn how to program before you get into hacking. Hacking is all about finding loopholes in a programs logic and exploiting that to achieve your goal (in this case, arbitrary code execution). You can't exploit a program if you can't understand the basics of what it's doing. I started off programming with C++ here: www.learncpp.com, and once you know C++ just try doing a C mini project and you should automatically understand the differences between C and C++. Assembly is also important, and I personally learned amd64 assembly from some book at wikibooks though I'm not sure about assembly for ARM

    Once you know that, I recommend you read this book as a starter: https://www.amazon.com/Hacking-Art-Exploitation-Jon-Erickson/dp/1593271441. I haven't delved much into hacking (I've only really read the first couple of chapters in that book), but I've heard becoming a good hacker comes from experience and a creative mind not memorising information, so you probably want to put your newly gained knowledge into practice somehow.
     
    Last edited by StackMasher, Jun 14, 2017
    MyDePain likes this.
  8. MyDePain
    OP

    MyDePain Advanced Member

    Newcomer
    83
    30
    Nov 23, 2016
    France
    Avignon
    Thank you very much :)