Homebrew Homebrew Development

Wisenheimer

Well-Known Member
Member
Joined
Sep 23, 2013
Messages
377
Trophies
0
Age
35
XP
246
Country
United States
I'm pretty sure we have full kernel access using this exploit, it just isn't really shown here. Theoretically we could create something like a Linux loader that boots the 3DS into Linux, change things around in RAM (and maybe ROM?) and other stuff. Basically, I'm pretty sure this exploit can be used to give us full access to the 3DS. But yes, it's limited to FW4.5.


If so, that is pretty awesome. If homebrew gets going in any meaningful fashion, I suspect people will work on figuring out how to overflow newer firmware.
 

tomiga

Well-Known Member
Member
Joined
Dec 4, 2013
Messages
125
Trophies
0
Age
30
XP
145
Country
United States
If so, that is pretty awesome. If homebrew gets going in any meaningful fashion, I suspect people will work on figuring out how to overflow newer firmware.

I'd really like for people to start working on modifying the running 3DS firmware in a similar way to how Gateway does it, so that we can remove the region lock and do other features, such as taking full screenshots (top and bottom screen in a lossless format like PNG). But I'm not expecting that to happen any time soon. Plus I'm just saying that 'cuz those are the two big features I want, hehe.

Either way, any homebrew is better than no homebrew and I'm really happy to have finally run some form of homebrew on my 3DS.
 
  • Like
Reactions: greyneon

Abcdfv

What comes around goes around.
Member
Joined
Dec 24, 2013
Messages
1,455
Trophies
0
XP
827
Country
United States
I'm pretty sure we have full kernel access using this exploit, it just isn't really shown here. Theoretically we could create something like a Linux loader that boots the 3DS into Linux, change things around in RAM (and maybe ROM?) and other stuff. Basically, I'm pretty sure this exploit can be used to give us full access to the 3DS. But yes, it's limited to FW4.5.

Yeah, we have full system control, but we're basically just in a room with a bunch of blinking lights and flashing levers and no idea how to really take full advantage of anything. Though now that unsigned code is indeed running, hopefully more people will take notice
 

pistone

Well-Known Member
Member
Joined
Feb 18, 2010
Messages
503
Trophies
0
Age
35
Location
in your heart...coz secretly you love me !!!!
XP
232
Country
Albania
To set up the enviroment, install:

https://launchpad.net/gcc-arm-embedded
http://www.python.org/

Then add python to your $PATH. Build.bat will then compile whatever your C\ARM code is into the Launcher.dat.

As far as how to set up the makefile and all that, I can't help you, I don't know that much yet. But I was able to get other users code running and am studying what they did.


Now, to get the launcher.dat to actually do something once it's on your SDCard, get a copy of Fierce Waffle's ROPLoader.nds from the first post, put it on your DS-Mode flashcart, run it, press home instead "A" once it's verified, then go into DS Profile and it should launch (Or crash, but if it crashes then ROPLoader worked)​
Last edited by Abcdfv, Yesterday at 11:27 PM

cant install gcc arm embedded on ubuntu 13.10 thought ppa .........any idea? :cry:
Also how do you quote a message from another user ? :wtf:
 

tomiga

Well-Known Member
Member
Joined
Dec 4, 2013
Messages
125
Trophies
0
Age
30
XP
145
Country
United States
cant install gcc arm embedded on ubuntu 13.10 thought ppa .........any idea? :cry:
Also how do you quote a message from another user ? :wtf:

Might have to compile it yourself. I use Arch so I just had to get arm-eabi-gcc from AUR.

To quote a user, hit "Reply".
 

Wisenheimer

Well-Known Member
Member
Joined
Sep 23, 2013
Messages
377
Trophies
0
Age
35
XP
246
Country
United States
I'd really like for people to start working on modifying the running 3DS firmware in a similar way to how Gateway does it, so that we can remove the region lock and do other features, such as taking full screenshots (top and bottom screen in a lossless format like PNG). But I'm not expecting that to happen any time soon. Plus I'm just saying that 'cuz those are the two big features I want, hehe.

Either way, any homebrew is better than no homebrew and I'm really happy to have finally run some form of homebrew on my 3DS.


I am not a big fan of imports, for the most part, but I just finished mother 3 (hand to use my phone and a community patch) so I know that there is quality games out there that are not being released in the US, like if you are a fan of the Fatal Frame series.
 

greyneon

Well-Known Member
Newcomer
Joined
Sep 5, 2013
Messages
74
Trophies
0
Age
34
Location
Hidden Nuclear Base
XP
135
Country
Yeah, we have full system control, but we're basically just in a room with a bunch of blinking lights and flashing levers and no idea how to really take full advantage of anything. Though now that unsigned code is indeed running, hopefully more people will take notice


Directly thought of this picture xD

modul.jpg
 

Snailface

My frothing demand for 3ds homebrew is increasing
Member
Joined
Sep 20, 2010
Messages
4,324
Trophies
2
Age
40
Location
Engine Room with Cyan, watching him learn.
XP
2,255
This is for people frustrated by installation problems.
Direct links to correct Windows installers:
https://launchpad.net/gcc-arm-embedded/4.8/4.8-2013-q4-major/ download/gcc-arm-none-eabi-4_8-2013q4-20131204-win32.exe
http://www.python.org/ftp/python/2.7.6/python-2.7.6.msi

The reason to use installers is that you don't have to worry about editing PATH variables and all that nonsense.
Now just click on build.bat in the ready-to-go demo package to compile (attached below).

3 steps, can't make it any easier.
 

Attachments

  • 3DS_Homebrew_Demo.zip
    48 KB · Views: 624
  • Like
Reactions: Cyberdrive

pistone

Well-Known Member
Member
Joined
Feb 18, 2010
Messages
503
Trophies
0
Age
35
Location
in your heart...coz secretly you love me !!!!
XP
232
Country
Albania

well thanks :grog:
but after i extracted it and added the $path when i try the python script it shows up this message
Code:
rm: cannot remove ‘obj/*.o’: No such file or directory
sh: 1: arm-eabi-gcc: not found
sh: 1: arm-eabi-gcc: not found
cp: cannot stat ‘*.o’: No such file or directory
sh: 1: arm-eabi-ld: not found
cp: cannot stat ‘a.out’: No such file or directory
sh: 1: arm-eabi-objcopy: not found
sh: 1: /home/pistone/3ds/3DS_Homebrew_Demos/lib/p3ds/3dsploit.py: Permission denied
rm: cannot remove ‘*.o’: No such file or directory
rm: cannot remove ‘*.out’: No such file or directory
any idea :unsure:
 
  • Like
Reactions: ieatpixels

Arras

Well-Known Member
Member
Joined
Sep 14, 2010
Messages
6,318
Trophies
2
XP
5,408
Country
Netherlands
well thanks :grog:
but after i extracted it and added the $path when i try the python script it shows up this message
Code:
rm: cannot remove ‘obj/*.o’: No such file or directory
sh: 1: arm-eabi-gcc: not found
sh: 1: arm-eabi-gcc: not found
cp: cannot stat ‘*.o’: No such file or directory
sh: 1: arm-eabi-ld: not found
cp: cannot stat ‘a.out’: No such file or directory
sh: 1: arm-eabi-objcopy: not found
sh: 1: /home/pistone/3ds/3DS_Homebrew_Demos/lib/p3ds/3dsploit.py: Permission denied
rm: cannot remove ‘*.o’: No such file or directory
rm: cannot remove ‘*.out’: No such file or directory
any idea :unsure:
First of all, did you set $path for the user that you are executing the script as? If you run the script as root, root's $path needs to be set. My guess as to what's happening is that it somehow can't find the compiler, then the rest of it gives errors because the compiled files do not exist. Not sure what's up with the Permission denied though.
 

escherbach

Well-Known Member
Member
Joined
Dec 26, 2013
Messages
271
Trophies
0
XP
263
Country
This is for people frustrated by installation problems.
Direct links to correct Windows installers:
https://launchpad.net/gcc-arm-embedded/4.8/4.8-2013-q4-major/ download/gcc-arm-none-eabi-4_8-2013q4-20131204-win32.exe
http://www.python.org/ftp/python/2.7.6/python-2.7.6.msi

The reason to use installers is that you don't have to worry about editing PATH variables and all that nonsense.
Now just click on build.bat in the ready-to-go demo package to compile (attached below).

3 steps, can't make it any easier.

Yeah, fails.

You can launch the python gui from windows start menu and run build.py - that seems to do something, I get a 3dsploit file open on the screen in wordpad.

Seriously - you guys need to speak english.

Explain how to build AND RUN a hello world program on either the top or bottom screen.

Which firmware versions of the 3DS console does this work on?

What files do we copy to the 3DS SD card - where? what directory do we copy to?

Maybe post a video if you can't write instructions.
 

Snailface

My frothing demand for 3ds homebrew is increasing
Member
Joined
Sep 20, 2010
Messages
4,324
Trophies
2
Age
40
Location
Engine Room with Cyan, watching him learn.
XP
2,255

Attachments

  • 3DS_Homebrew_MakefileEdition.zip
    37.2 KB · Views: 840

nop90

Well-Known Member
Member
Joined
Jan 11, 2014
Messages
1,556
Trophies
0
Location
Rome
XP
3,136
Country
Italy
I uploaded on github a small update with:
- Buttons management
- Fixed pointers for all six buffers

No buffer swapping at the moment, but now the program draws to both framebuffer to avoid blank screens if the second buffer is active.

20140118_010953.jpg


I attached the executable for people who are not able to compile the sources. You should not execute it (I would not!) because it's very easy for a bad guy to brick your 3DS, how GW did.

Obviusly I'm not a bad guy :-) , but every bad guy would say this :-/

Anyway, try it at your own risk. I don't take any resposability.

nop90
 

Attachments

  • Launcher.zip
    4.7 KB · Views: 339

pistone

Well-Known Member
Member
Joined
Feb 18, 2010
Messages
503
Trophies
0
Age
35
Location
in your heart...coz secretly you love me !!!!
XP
232
Country
Albania
First of all, did you set $path for the user that you are executing the script as? If you run the script as root, root's $path needs to be set. My guess as to what's happening is that it somehow can't find the compiler, then the rest of it gives errors because the compiled files do not exist. Not sure what's up with the Permission denied though.

yes i did add the $path (like it was written in the read.me file here) but still nothing :O

update:
i did some chmod and now this is what i get

Code:
sh: 1: del: not found
source/bootloader.s: Assembler messages:
source/bootloader.s:7: Error: junk at end of line, first unrecognized character is `/'
sh: 1: xcopy: not found
arm-none-eabi-ld: cannot find bootloader.o
sh: 1: copy: not found
arm-none-eabi-objcopy: 'a.out': No such file
sh: 1: /home/pistone/Desktop/nintendo3ds/3DS_Homebrew_Stuff2-masterlibp3ds3dsploit.py: not found
Traceback (most recent call last):
  File "build.py", line 36, in <module>
    upload("Launcher.dat")
  File "build.py", line 20, in upload
    session = ftplib.FTP('192.168.2.29')
  File "/usr/lib/python2.7/ftplib.py", line 117, in __init__
    self.connect(host)
  File "/usr/lib/python2.7/ftplib.py", line 132, in connect
    self.sock = socket.create_connection((self.host, self.port), self.timeout)
  File "/usr/lib/python2.7/socket.py", line 571, in create_connection
    raise err
socket.error: [Errno 113] No route to host
 

Snailface

My frothing demand for 3ds homebrew is increasing
Member
Joined
Sep 20, 2010
Messages
4,324
Trophies
2
Age
40
Location
Engine Room with Cyan, watching him learn.
XP
2,255
yes i did add the $path (like it was written in the read.me file here) but still nothing :O

update:
i did some chmod and now this is what i get

Code:
sh: 1: del: not found
source/bootloader.s: Assembler messages:
source/bootloader.s:7: Error: junk at end of line, first unrecognized character is `/'
sh: 1: xcopy: not found
arm-none-eabi-ld: cannot find bootloader.o
sh: 1: copy: not found
arm-none-eabi-objcopy: 'a.out': No such file
sh: 1: /home/pistone/Desktop/nintendo3ds/3DS_Homebrew_Stuff2-masterlibp3ds3dsploit.py: not found
Traceback (most recent call last):
  File "build.py", line 36, in <module>
    upload("Launcher.dat")
  File "build.py", line 20, in upload
    session = ftplib.FTP('192.168.2.29')
  File "/usr/lib/python2.7/ftplib.py", line 117, in __init__
    self.connect(host)
  File "/usr/lib/python2.7/ftplib.py", line 132, in connect
    self.sock = socket.create_connection((self.host, self.port), self.timeout)
  File "/usr/lib/python2.7/socket.py", line 571, in create_connection
    raise err
socket.error: [Errno 113] No route to host
upload("Launcher.dat")
Comment out that line in build.py ( ex. #upload("Launcher.dat") )
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    S @ salazarcosplay: how are you doing @K3Nv2