Omnimaga

Calculator Community => Other Calculators => Topic started by: Munchor on February 27, 2011, 03:09:15 pm

Title: TI-NSpire Operative Systems
Post by: Munchor on February 27, 2011, 03:09:15 pm
The other day I decided to experiment changing the TI-NSpire OS to something made by me. Of course I knew that I had to study the OSs made by Texas Instruments first, it's what I did.

I don't know ARM9 Assembly, so all I could do were some tiny experiments:


Experiment 1
I changed, in the code, 631 to 632. I was editing TI-Nspire-2.1.0.631.tno and in the code (hex to string) it said 'TI-NSpire.tno 2.10.631'. I changed the '631' to '632'. Tried putting it in my calculator and it said corrupted.

Experiment 2->30
I tried changing half-bytes, so 'DB' to 'DA' and stuff like that, also tried changing entire bytes, I made, in the overall, more than 30 different attempts to changing the OS (half-bytes!). All of them, Computer Link software said 'corrupted'.


Conclusion and Questions
Has any of you successfully changed anything in any of the OSs?
How come the Computer Link software be so good at detecting corruptions (Internet connection?)?.


My next experiment will be bit-changing, I'll open the binary of it, and change 1 bit in the code, then I'll see if Computer Link Software still states it as corrupted.
Title: Re: TI-NSpire Operative Systems
Post by: Deep Toaster on February 27, 2011, 03:10:56 pm
Experiment 1
I changed, in the code, 631 to 632. I was editing TI-Nspire-2.1.0.631.tno and in the code (hex to string) it said 'TI-NSpire.tno 2.10.631'. I changed the '631' to '632'. Tried putting it in my calculator and it said corrupted.

Experiment 2->30
I tried changing half-bytes, so 'DB' to 'DA' and stuff like that, also tried changing entire bytes, I made, in the overall, more than 30 different attempts to changing the OS (half-bytes!). All of them, Computer Link software said 'corrupted'.

That's because the OS has a checksum at the end of the file (that thing you were having trouble with when you were building Assemblex). If you change the code, you need to change teh checksum to match.
Title: Re: TI-NSpire Operative Systems
Post by: ruler501 on February 27, 2011, 03:11:35 pm
This looks like it may have some editable codes but there is something in the software protecting certain parts. I bet you could find one updated parrt that you could edit.(try knocking your internet connection out when you do it)
Title: Re: TI-NSpire Operative Systems
Post by: apcalc on February 27, 2011, 03:12:15 pm
The only way you will be able to "edit" the OS file is through an Ndless program on the calc.  As far as I have tested (not all that much, but a bit), some of the files will reject editing (or will be overwritten with the "correct" copy, or something like that is happening).
Title: Re: TI-NSpire Operative Systems
Post by: calc84maniac on February 27, 2011, 03:12:34 pm
Not only a checksum, don't you also have to factor the 1024-bit signing keys?
Title: Re: TI-NSpire Operative Systems
Post by: Deep Toaster on February 27, 2011, 03:13:35 pm
Not only a checksum, don't you also have to factor the 1024-bit signing keys?

Oh, right, that's the whole point of why we can't edit the OS to allow third-party apps.
Title: Re: TI-NSpire Operative Systems
Post by: Munchor on February 27, 2011, 03:13:41 pm
The checksum makes sense, thanks.

"Not only a checksum, don't you also have to factor the 1024-bit signing keys?"

What is that?
Title: Re: TI-NSpire Operative Systems
Post by: apcalc on February 27, 2011, 03:13:55 pm
Not only a checksum, don't you also have to factor the 1024-bit signing keys?

Yes, I believe you do in order to edit the OS file.
Title: Re: TI-NSpire Operative Systems
Post by: ruler501 on February 27, 2011, 03:15:05 pm
Now to break the signing keys... This might take a while...
Title: Re: TI-NSpire Operative Systems
Post by: Munchor on February 27, 2011, 03:16:08 pm
What are the signing keys? Scout askes.
Title: Re: TI-NSpire Operative Systems
Post by: Stefan Bauwens on February 27, 2011, 03:16:18 pm
The other day I decided to experiment changing the TI-NSpire OS to something made by me. Of course I knew that I had to study the OSs made by Texas Instruments first, it's what I did.

I don't know ARM9 Assembly, so all I could do were some tiny experiments:


Experiment 1
I changed, in the code, 631 to 632. I was editing TI-Nspire-2.1.0.631.tno and in the code (hex to string) it said 'TI-NSpire.tno 2.10.631'. I changed the '631' to '632'. Tried putting it in my calculator and it said corrupted.

Experiment 2->30
I tried changing half-bytes, so 'DB' to 'DA' and stuff like that, also tried changing entire bytes, I made, in the overall, more than 30 different attempts to changing the OS (half-bytes!). All of them, Computer Link software said 'corrupted'.


Conclusion and Questions
Has any of you successfully changed anything in any of the OSs?
How come the Computer Link software be so good at detecting corruptions (Internet connection?)?.


My next experiment will be bit-changing, I'll open the binary of it, and change 1 bit in the code, then I'll see if Computer Link Software still states it as corrupted.
Is .tno the ti-nspire os?
Title: Re: TI-NSpire Operative Systems
Post by: Munchor on February 27, 2011, 03:16:58 pm
@Stefen: Yup.
Title: Re: TI-NSpire Operative Systems
Post by: Deep Toaster on February 27, 2011, 03:17:10 pm
The checksum makes sense, thanks.

"Not only a checksum, don't you also have to factor the 1024-bit signing keys?"

What is that?

The OS is signed with a 1024-bit key (that's what we've been complaining about since the Nspires first came out). You need to figure out the keys to successfully sign your own OS. An unsigned OS isn't accepted by the calc because the calc checks the signature.
Title: Re: TI-NSpire Operative Systems
Post by: Munchor on February 27, 2011, 03:18:22 pm
"The OS is signed with a 1024-bit key"

In the middle of the .tno fiel code is a key? Sorry I understand what it does, just not what it is.
Title: Re: TI-NSpire Operative Systems
Post by: Stefan Bauwens on February 27, 2011, 03:18:59 pm
@Stefen: Yup.
Ok, thanks.
(It isn't stefEn, it's stefan actually) :P

Edit: How can changing the 'name' of the os, change the os.
Title: Re: TI-NSpire Operative Systems
Post by: ruler501 on February 27, 2011, 03:19:12 pm
It prevents editing unless you know it. i must find out what it is
Title: Re: TI-NSpire Operative Systems
Post by: shrear on February 27, 2011, 03:56:10 pm
"The OS is signed with a 1024-bit key"

In the middle of the .tno fiel code is a key? Sorry I understand what it does, just not what it is.

I think the RSA key is explained pretty well here (http://ourl.ca/6418)
Title: Re: TI-NSpire Operative Systems
Post by: Deep Toaster on February 27, 2011, 04:05:23 pm
@Stefen: Yup.
Ok, thanks.
(It isn't stefEn, it's stefan actually) :P

Edit: How can changing the 'name' of the os, change the os.

He didn't change the filename -- he actually changed the name string stored as data in the OS itself. The entire OS is summed and signed.
Title: Re: TI-NSpire Operative Systems
Post by: DJ Omnimaga on February 28, 2011, 03:58:23 am
The only way you will be able to "edit" the OS file is through an Ndless program on the calc.  As far as I have tested (not all that much, but a bit), some of the files will reject editing (or will be overwritten with the "correct" copy, or something like that is happening).
Like Compu's 1337 mod, right? http://ourl.ca/9159
Title: Re: TI-NSpire Operative Systems
Post by: Munchor on February 28, 2011, 09:06:41 am
"The OS is signed with a 1024-bit key"

In the middle of the .tno fiel code is a key? Sorry I understand what it does, just not what it is.

I think the RSA key is explained pretty well here (http://ourl.ca/6418)

Thanks.