I have posted this both here and on omnimaga.


Would it be possible to have a patch made for a TI-84+ SE or any type of graphing calc so that you create a System Restore point, just like on Windows. And that this "restore point" should encompass the OS itself, archive, RAM (optional), and the certificate. And, if anything should happen that would make your calc's OS go down or even the certificate be damaged, the calc intercepts the corresponding error message and gives you the option of entering System Restore, and undoing whatever caused the problem.
ACagliano wrote:
I have posted this both here and on omnimaga.
Fair enough. Smile Welcome back, it's been a very long time seen we've seen you here at Cemetech.

ACagliano wrote:
Would it be possible to have a patch made for a TI-84+ SE or any type of graphing calc so that you create a System Restore point, just like on Windows. And that this "restore point" should encompass the OS itself, archive, RAM (optional), and the certificate.
RAM, yes, the same way Omnicalc does it. Archive, possibly, depending on the amount of available ROM (or better yet, offcalc). Certificate, tricky, but I bet BrandonW could think of some nifty tricks.
ACagliano wrote:
And, if anything should happen that would make your calc's OS go down or even the certificate be damaged, the calc intercepts the corresponding error message and gives you the option of entering System Restore, and undoing whatever caused the problem.
It seems to me like the best way to do this would be to have the entire ROM and RAM be backed up to something like a Flash Drive, and then come up with a way to merge the saved ROM/RAM image and current ROM/RAM image, if it's desired that some of the new programs and appvars and apps are retained.
perhaps i should message brandon w. And thanks for the welcome. I've seen u around facebook a bit, but when u put up a wall post on your progress on some project, i try not to bother you.
Well, he's more likely to help you in this thread if we're all assisting. Do you have any vision of how you wanted to do this? As far as I know, you're still a BASIC programmer, correct? Have you learned any ASM, or do you have plans to do so in the near future? The flowchart behind this, such as it is, isn't that utterly complex; I bet the hardest part would be restoring ROM and RAM in a consistent and sane manner.
Well, I am still a Basic programmer, with fleeting proficiency in Axe.

What I am going for is a complete backup of everything, on the calc. It would be saved onto some unused part of the memory (I would not mind if only one save state could be kept at a time). It would be essential that the backup contain the RAM at point of backup, the Archive is optional since it really isn't touched in a crash, the current OS configuration, and the certificate's state at the point of backup.
Well, the problem of backing up to the calculator itself is of course that you can only use up to half its resources as any one point, as the other half would be a mirror of the first half. That may not be feasible on any but the 84+ calcs, where the number of free ROM pages for the user exceeds the size of the OS in flash pages.
Well, I for one would be fine with it only working on a 84, for now (of course, a hardware check would need inclusion). I really only use an 84. After it is figured out how to make it, then we can look into "fitting" it onto an 83.
Why would restoring the certificate be trickier than restoring any OS page? You would have to erase the 'secured' sector anyway ($7C and up) if you want to restore pages $7c and $7d, so $7e would probably also be erased. (Correct me if I'm wrong)
The only difference in code is: you have to call the 'unsafe' flash write routines.

It will be hard to restore the system if your OS is completely messed up, though Razz
Even on an 84+, you would be highly limited on the amount of data you'd be able to back up. Your best bet would be to save it in external resource. The only way PCs are able to act this way, is because they have a substantial amount of unused space on the HDD. This is, of course, concerning Window's System Restore, which is actually entirely different then what you're talking about. Window's System Restore does not copy the entire image of the computer. What you're referring to is something of a full-system back up.

An equivalent of what you're saying, would be saving the state of the RAM, and performing an HDD mirror/back-up and a PC. Now, because the RAM on a PC is almost 100% of the time only a fraction of the HDD size, things like "hibernate" are possible, which is where the state of the RAM is copied to a location on the HDD and then injected into the RAM on boot-up (if I'm wrong about this, please tell me Razz ).
This would require an OS modification in order to add all these features. Otherwise, if you corrupt the OS or brick your calc, then there is nothing you can do anyway and whatever programs you installed would be useless. But if you're going to mod the OS, then its almost a better work around to make the calculator ignore the certificate page so that it never needs to make checks by the OS and dodge the problem completely.

Not sure what the point of backing up the archive is though to be honest. There are very few instances where archive could get corrupted and it happens rare enough where an occasional computer backup would suffice.
What if you mess up the restore point command itself, though? Wink
well, maybe a "safe" type of OS install, patching the OS, such that when it's about to Validate the OS, you choose normal install, which checks against cert, or a "safe" install which ignores the cert.
ACagliano wrote:
well, maybe a "safe" type of OS install, patching the OS, such that when it's about to Validate the OS, you choose normal install, which checks against cert, or a "safe" install which ignores the cert.

Patently impossible. Any proper change to the OS load sequence requires a modified boot code, which you can't so much as erase without hardware modification.

You could make something back up to a flash drive, but you have very little recourse no matter what if the certificate gets screwed.
Oh man...I'm not exactly sure where to start on responding.

The problem with certificate corruption is that it screws up the very first thing in the boot chain (the boot code), so you can't really restore it. The ONLY way this is done is using the boot code buffer overflow exploit at http://www.ticalc.org/archives/files/fileinfo/420/42046.html , which requires another calculator and an I/O cable (no direct USB). It makes for very little motivation to make a PC port of it. It's an extreme last resort.

As far as backing everything else up...yeah, what everyone else said. You can't back up all memory unless you have more memory to back it up to. And then how do you back that up?
Thanks. But, Brandon, I have a further question for you.


1. What exactly does your OSKILL do?

2. If you have an invalid certificate can you install the OS, then battery pull during Validation? Will that work?

3. If you can do question 2, and you do it, can u then use the the PUTCERT.8xp (from Chameleon) and CERTIMG.8xv (created by GETCERT.8xp) files to restore the certificate?


Thanks.
1. If you're referring to http://brandonw.net/calcstuff/OSkill.txt , then it just erases the first sector, which forces you to re-install your OS. The intention was to memorize a small sequence of instructions so you could walk into an Office Depot or something and "brick" the display calculators (because the employees aren't going to re-send the OS to them), which I've done. Smile

2. Depends on how screwed up your certificate is. The bricker will screw it up so badly that no, you can't. Any attempt to even start an OS transfer will fail.

3. Yes, that's the ultimate goal, get an OS to boot so that you can run this program and restore everything to proper working order.
BrandonW wrote:
1. If you're referring to http://brandonw.net/calcstuff/OSkill.txt , then it just erases the first sector, which forces you to re-install your OS. The intention was to memorize a small sequence of instructions so you could walk into an Office Depot or something and "brick" the display calculators (because the employees aren't going to re-send the OS to them), which I've done. Smile
I'm sure you've never then used that as an excuse to buy the display models for cheap. Wink

BrandonW wrote:
2. Depends on how screwed up your certificate is. The bricker will screw it up so badly that no, you can't. Any attempt to even start an OS transfer will fail.

3. Yes, that's the ultimate goal, get an OS to boot so that you can run this program and restore everything to proper working order.
If the OS transfer would fail in this case, then how would you resolve this? Unless I'm misunderstanding and (3) doesn't follow from the results of doing (2).
Isn't there a exploit in the boot code that allows for code to be run without having an OS?

Brandon, didn't you have a program that does exactly that: restore the certificate through that exploit if the calculator is bricked?

EDIT: Sorry, this was covered four posts above, but I think it solves your issue, Kerm.
Yes, I created a program that exploits a buffer overflow in the boot code. Any attempt to start an OS transfer fails, however the boot code is still capable of receiving the first link packet (which would initiate the transfer). By transferring an extremely large link packet, I can corrupt the stack and force it to execute a payload, the payload being a program that unlocks Flash and erases the certificate.

The calculator will crash at this point, but it will have an empty certificate, so you can simply reboot it and transfer an official TI-OS to it, then restore the certificate with PUTCERT.

The program is called Overflow and is at ticalc.org. It requires a second calculator connected through I/O (the Flash simulator will suffice). The program that unlocks Flash and erases the certificate doesn't exist quite yet...it's just in my head, but I do have a working Flash unlock exploit that works on all models, I just haven't released it.
ahhh. was OSKILL supposed to wipe my archive memory clean too?
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement