Difference between revisions of "CiTRUS"

From 3dbrew
Jump to navigation Jump to search
m
Line 9: Line 9:
  
 
= '''IMPORTANT''' =
 
= '''IMPORTANT''' =
To generate a correct CXI (when supported), proper keys will need to be supplied. For developer-unit keys, you need to be an official Nintendo 3DS developer, and have access to the official Nintendo 3DS SDK. For retail-unit keys, don't even bother.
+
The CXI generator has not been released yet, please understand it is under development. I apologize for adding in the possibility of using retail RSA keys; they would be so hard for us to get it wouldn't even be funny having them. However, when homebrew is available to this community the output should be usable, as a homebrew loader would not check the signature.
 
 
This tool is practically for developer-units only.
 
 
 
NOTE: The tool with the CXI creation has not been released yet;
 
  
 
= Notes from users =
 
= Notes from users =
This application may not generate completely perfect files yet.
+
<del>This application may not generate completely perfect files yet.</del>
 
+
Banner output has been checked. It is proper data if the program is used properly. The same is for the ICN.
  
 
= General information =
 
= General information =
 
== Introduction ==
 
== Introduction ==
Over the past weeks I have been working on Project CiTRUS (citrus). Currently this tool boasts the capability to output "proper" Nintendo 3DS (CTR) BaNneR and ICoN files using my XBSF format.
+
Over the past weeks I have been working on Project CiTRUS (citrus). Currently this tool boasts the capability to output proper Nintendo 3DS (CTR) BaNneR and ICoN files using my XBSF format.
  
  
Line 41: Line 37:
 
== USE ==
 
== USE ==
  
Since v0.2, a readme is not really necessary anymore. I've included helpful text inside each tab in the CiTRUS window to do things on-the-fly without needing to switch between notepad and CiTRUS.
+
Since v0.2, a readme is not really necessary anymore. I've included helpful text inside each tab in the CiTRUS window to do things on-the-fly without needing to switch between notepad (or your favourite text editor) and CiTRUS.
  
 
INPUT:
 
INPUT:
Line 61: Line 57:
 
==UPCOMING==
 
==UPCOMING==
  
3/1/2012 @ 17:02 PST
+
4/23/2012
 
 
I am proud to reveal what this upcoming project is today.
 
 
 
 
 
It has come to my attention that there is no GBATemp Homebrew Bounty. At the time of writing the news above (~3 weeks ago) I was under the impression it would happen again.
 
 
 
 
 
Regardless by saying "at" I was implying "by". I will still release this next version, to be dubbed "CiTRUS Ultimate". Currently I do not have an estimate of when the release will be exactly, but I am hoping for sometime next week since I am getting positive results.
 
 
 
 
 
I know, due to the nature of how I am "unknown" to the scene, I may be considered a liar or fraud. To assure you that I am honest with my work I will enclose a download to a work-in-progress 3DS-mode Homebrew ("Hello World") CXI I developed using CiTRUS Ultimate.
 
 
 
  
http://www.mediafire.com/?lnc2o6372iq98cl
+
I am not dead! I apologize for my absence. I wanted to have enough data this time to make solid and more presentable data.
  
  
<del>I understand some of the misinformed users of gbatemp may think this is developer-only but in fact it can be retail signed, provided the right RSA keys. In my demo, I used a fake RSA key. When using this program, I provide you an option to specify your own RSA keys for signing. No illegal keys will be provided. The CXI is a format used by both retail and developer 3DS's, not just developer!</del>
+
For the past month and a half I have been learning much more and I've been able to successfully compile CXI (CTR eXecutable Images) with accurate raw data. Last time, my CXI was (in all respects) only structurally valid; the data was not so much as valid as I was thinking. This time, however, I've been able to test the raw data and have progressed the output to be a 1:1 valid binary. I am working on proper encryption, but for this demo/progress update it now has correct structure, flags, signatures, and raw materials to be encrypted into a CXI. In other words, I've made a valid raw form of CXI for this progress update.
  
This tool is practically for developer-units only.
 
  
<del>Please note that this CXI has not been tested for loading but it has valid structure, a valid ExeFS (contains ARM11 code, banner, icon, and logo) and has been accepted in transformations to other formats. To the best of my knowledge this is very close to a proper CXI, if not a proper one already.</del>
+
For those curious to see that I'm not making blind claims I'll attach a new download for a fully unencrypted (raw), but valid, homebrew CXI :
  
After some testing between 3DSGuy and I we have discovered a few problems with the test application. The application appears to be properly signed/signable, and it is able to pass Nintendo's validity checks up to 92% of the installation.
 
  
In the initial release of this new feature in CiTRUS I will only include very simple options, but if I see users are enjoying this program I will add more to it.
+
http://www.mediafire.com/?9trvb9trt32dhn7
  
  
In case some of you wonder, this does not have a RomFS. I admit I have not delved into that yet.
+
I am still working on encrypting it properly, but now I can show valid coding base progress. I've formatted this CXI to outline the CXI structure while being unencrypted. You may notice I did not include a logo binary in the ExeFS. This is because I'm not 100% sure if it is legal to distribute that (my guess is not, though) so I'd rather not post that here just to be on the safe side.
  
  
I hope to finish fixing the issues soon, but it is very close to being able to pass the checks when importing to the Nintendo 3DS, making it through a solid 92% of the installation currently.
+
Now, with this presentation, I am showing valid structure ''and'' valid raw (unencrypted) data. I hope to soon figure out how to properly encrypt CXI to use with 3DS software.
  
This doesn't mean the CXI fake - this means it not yet proper. There is a big difference between fake and not proper. I wouldn't release more than the concept output of this tool without testing first. The output CXI was a test bed, which wasn't perfected yet and so I will work on perfecting this CXI before releasing this portion of CiTRUS.
 
  
 
==UPDATES==
 
==UPDATES==

Revision as of 04:03, 24 April 2012

CiTRUS
General
Author(s)Xcution
TypePC utility
Version0.2
Links
Download


IMPORTANT

The CXI generator has not been released yet, please understand it is under development. I apologize for adding in the possibility of using retail RSA keys; they would be so hard for us to get it wouldn't even be funny having them. However, when homebrew is available to this community the output should be usable, as a homebrew loader would not check the signature.

Notes from users

This application may not generate completely perfect files yet. Banner output has been checked. It is proper data if the program is used properly. The same is for the ICN.

General information

Introduction

Over the past weeks I have been working on Project CiTRUS (citrus). Currently this tool boasts the capability to output proper Nintendo 3DS (CTR) BaNneR and ICoN files using my XBSF format.


You may notice that creating these formats is not yet available in any other released tool. Over the course of time I will do my best to add creating new formats of 3DS files among various other calculations if I see users are liking the program.



If you have v0.1 please update it! There are new bug fixes, GUI changes, and updates! It is also more n00b compliant than the previous version. (now has a lot of help text)


I do not include an editor for the image formats, however, I do include an example of each required file for generating a test banner/icon. I do this not to troll, but rather in the hopes that it will encourage other talented users to make programs for the 3DS.



USE

Since v0.2, a readme is not really necessary anymore. I've included helpful text inside each tab in the CiTRUS window to do things on-the-fly without needing to switch between notepad (or your favourite text editor) and CiTRUS.

INPUT:

  • 1x XBSF (Xtended Banner Specifications(Spec) File)
  • 2x CTPK (CTR Texture PacKage)
  • 1x BCWAV (Banner CTR Wave)
  • 1x CBMD (CTR Banner Model Data)

OUTPUT:

  • 1x BNR (Optional)
  • 1x ICN (Optional)

ISSUES

I don't think there is any, but since this is a beta please report to me if there are issues that come about!

UPCOMING

4/23/2012

I am not dead! I apologize for my absence. I wanted to have enough data this time to make solid and more presentable data.


For the past month and a half I have been learning much more and I've been able to successfully compile CXI (CTR eXecutable Images) with accurate raw data. Last time, my CXI was (in all respects) only structurally valid; the data was not so much as valid as I was thinking. This time, however, I've been able to test the raw data and have progressed the output to be a 1:1 valid binary. I am working on proper encryption, but for this demo/progress update it now has correct structure, flags, signatures, and raw materials to be encrypted into a CXI. In other words, I've made a valid raw form of CXI for this progress update.


For those curious to see that I'm not making blind claims I'll attach a new download for a fully unencrypted (raw), but valid, homebrew CXI :


http://www.mediafire.com/?9trvb9trt32dhn7


I am still working on encrypting it properly, but now I can show valid coding base progress. I've formatted this CXI to outline the CXI structure while being unencrypted. You may notice I did not include a logo binary in the ExeFS. This is because I'm not 100% sure if it is legal to distribute that (my guess is not, though) so I'd rather not post that here just to be on the safe side.


Now, with this presentation, I am showing valid structure and valid raw (unencrypted) data. I hope to soon figure out how to properly encrypt CXI to use with 3DS software.


UPDATES

Version 0.2:

  • Fix: "Polish" changed "Portuguese"
  • Fix: Can now Set region to Taiwan
  • Fix: Can now Set rating to true
  • Add: Colour scheme of menu items to match colour scheme menu bar
  • Add: ComboBox for regions and ratings
  • Add: Checkboxes instead of true/false typing
  • Add: Automatic saving before building
  • Add: Banner writing progress bar/notification of finishing
  • Add: Help box incorporated into each tab (except title name/publisher tabs because those are not so complicated)
  • Add: Name now reflects what's on here (CiTRUS) and version number (v0.2)

MEDIA

CiTRUS v0.1.png