Separate names with a comma.
Discussion in '3DS - Homebrew Development and Emulators' started by Billy Acuña, Nov 4, 2015.
I only need some knowedge about hacking, Is there any FAQ about hacking or dev on 3ds?
There have been a few threads like this that I have replied in before but searching is being more troublesome than it should be. Afraid it is a bit late for me to be typing up the lot so I will have to go a bit more general. http://gbatemp.net/threads/some-hacking-concepts-and-links.287721/ is a bit old now but says many things I would say in these situations.
Developing for the 3ds is not necessarily going to help you that much for hacking. Being a good dev will see you learn the hardware, mainly with an eye to knowing its limitations and preventing your code from heading there, and that can be useful for hacking. However someone that sets out to learn hacking will find themselves far better off after a year to do further hacking that someone that learned programming.
For developer, I'd go and look at the source code of the ctrulib examples for easy, basic understanding.
For hacker, however, it's a completely different story.
You need a loooooooot of experience with coding if you want to actually make an exploit, or something like that...
You've came to the wrong place if you want to become a hacker. DOES THIS WORK ON 10.2 would be the only thing you hear at gbatemp
A degree in Computer science is a good start.
Not necessarily. It may be the most (annoying) epedemic lately, but some people to this day are still creating some pretty swag homebrew!
P.S. - Cubic Ninja is, really, the only choice you have on 10.2.
Not if you have Zelda + a means to write a save.
-r4i save dongle
-ds phat/lite + flashcard
-a friend with a 3ds capable of running sdvt or savedatafiler
Lets also not forget Smash + some computer skill and patience.
You're going to have to put in hours of work a day for years. You can do it, but I think you'll soon decide your time is better spent elsewhere. The 3DS will proably have become last gen by the time you become a good hacker. Remember the team at Nintendo who designed the 3DS spent years in College studying IT.
Learning more quickly hmm...
Well there's "the flow", meditation and probably a whole lot of other methods I haven't heard of or can't recall at this moment
Yeah, I forget about Zelda.
Looking at your list, though, you mainly need a hardware-based item.
Step 1. Grab your 3DS.
Step 2. Find an Ax.
Step 3. Start hitting your 3DS with your Ax.
Step 4. Congratulations!! You are now a hacker.
-PS: Im not going to make some Expoit any time soon....
Realistic, but a bit discouraging, aren't we?
If you're serious mate, you'll find a Dummies guide to making a game in Android (I forget the exact title)
Step by step, they'll walk you through understanding C#.
Alternatively, find your local college/university, download their syllabus, and then see what they're studying yourself. Decide if it's a hobby you want to go into instead of spending thousands of dollars.
I am so glad I wasn't drinking milk when I read this post. Otherwise, I would have had a computer covered with milk and boogers.
What he says is right. We've been spammed by "does this work on my 3DS ?? i have 10.2" messages.
If you want to be a hacker, you need to have a lot of experience in programming (C, C++, low level languages). You also need to know about Linux (POSIX systems generally, so it can be Mac/UNIX too), how to use it, how does it works, how does a kernel works, etc. Learn x86 or/and ARM ASM. Then start with small crackme files.
For 3DS, I think that most use IDA Pro, but you can use radare2 too.
There's a huge difference between a hacker and a dev.
To sum up, a dev makes mistakes and a hacker exploits them
More seriously, a dev only tries to achieve a certain goal using a certain language, yeah, it always work in the end.
A hacker needs to know exactly everything he is doing and exactly what others are doing in order to trigger exactly what he wants at a precise moment, like overflowing a tab with specific data that will allow writing a jump adress at a certain place that by chance (jk, not by chance, I told you he knows everything) will be read by the processor, which will execute specific code also written by the hacker.
And this is just an example. Obviously it's better if you can trigger code execution in a lot of cases, which either means that you know a lot of cases or you are very creative or both.
IMO you can't really be taught to be a hacker. Any known previous exploits of anything (not just 3DS) are more than likely patched. Your goal is to find a security flaw and use it to your advantage. Hence, you are looking for something that hasn't gone public, hasn't been discovered, or maybe doesn't even exist.
People seem to want to say programming is necessary, I would argue it is not. I does not hurt but being an experienced dev before learning to hack is not a requirement, especially not for a lot of simpler embedded systems (the 3ds is not especially complex or hardened).
As for not able to be taught... that depends. Broadly speaking there are two main hacker tracks, though blending them is always an option
1) Computer security is just computer administration. Forget to close ports on the firewall, forget to change default passwords, forget to disable functionality you are not using, forget to update when exploits have been found, forget to isolate components that do not need to speak to other things on your network...
This can be taught fairly readily.
2) The actual finding of exploits. This typically does want some skills, however how much of a given thing you wish to know might vary and you also have multiple approaches -- hardware hacking is very much an option but one seemingly not all that explored on the 3ds at this point. Others have taken the high level systems approach and scraped until they got something to analyse, analysed it and then weaponised it. You can be taught some of this, though I would agree many of the better ones have a mindset that does well for them here.
Now starting out on the 3ds is a bit like trying for a marathon a week after you got to the point where you can climb the stairs without getting out of breath. You would be far better off tweaking things and then moving up as time goes on.
3DS was my first scene and I started out knowing how to program and a little bit of ARM knowledge, I worked my way up from there. You dont need degrees or any of that crap. I'm fully self taught in programming/hacking. I'm an engineering/robotics major, so i was mostly taught hardware. Also I'd say programming helps a lot (at least with software related hacking). Going into hacking any software without knowing a single bit of programming is like a carpenter going onto a job without a hammer. He could do a lot of things that dont require the hammer, but driving that nail is the biggest part of the job to build the house. Even if you know how to read ARM and compare code and find exploits, you still have to test things by writting code. I'd go as far to say how is it even possible that one could read ARM but not know anything about programming? lol. Anyways, ironically enough, i dont even touch hardware save for soldering things to 3ds, like NAND mods.
Doubtless code will play a large role in the end, however I reckon most of that can be learned "on the job" or as a consequence of related skills where a more traditional path through programming will see a lot of stuff which is fairly pointless for this learned as well. A lot of it will certainly not be pointless in general but would be an unnecessary distraction. As for ARM and not programming in general I have seen it and seen several people through it -- it usually starts off with people learning tracing, then someone will nop something to stop a branch and before you know it something a bit more elaborate happens. Along the way they will often pick up another very high level/scripting language (typically Python) but going in raw is far from unheard of. Said person might run into trouble if you ask them to recognise common C failings (say the wii strncmp instead of a memcmp for the hex hash) from disassembled code but the same could happen for anything -- I once wanted to hack an online game but it was almost all raw database reads and my hazy knowledge of databases cancelled me out of that one.