This is a read-only snapshot of the ComputerCraft forums, taken in April 2020.
Cloud Ninja's profile picture

TKO | Root Method And Eventual SuperUser layer for O | Operating system

Started by Cloud Ninja, 28 December 2015 - 06:04 PM
Cloud Ninja #1
Posted 28 December 2015 - 07:04 PM
Welcome to TKO

TKO is a Root method for the operating system O, a very well rounded and all around amazing OS.

Recently its be gaining popularity in a rooting sense, so i figured id make my own.


So, without further adieu, i present:

TKO

TKO was developed by me (with help from user Wojbie)

TKO utilizes a TLCO, Top level coroutine override, and allows the user of O to bypass file protections put on system files, as well as restores any overridden functions, allowing you to modify startup files, and anything else locked on the system (not counting ROM)

This design is future proof (provided he doesnt change his pastebin link :P/>)

Download


pastebin run q0ELs33F

enter YES in all caps to begin the installation.

It will begin the O installer and patch files as they install, and eventually drop you into the OS itself.

Happy Hacking!
cyanisaac #2
Posted 29 December 2015 - 12:19 AM
Hurry with the superuser access or O3 will beat you to turning O into a platform :P/>
クデル #3
Posted 29 December 2015 - 02:28 AM
You need to be more specific with the installer, due to people using different operating systems.

Change

os.run({},"/patcher")

To

os.run({},"/Patcher")

Edit: Thanks for updating it. :D/>
Edited on 29 December 2015 - 12:12 PM
Cloud Ninja #4
Posted 29 December 2015 - 03:00 PM
Update: Currently working on the superuser side of TKO. It will have an SUReq API call to request being able to call the other SU functions, such as writing to files and such. This will include the default edit program which i will personally modify the default API calls to block it from working without the user letting it. Version 1 will include some basic calls.
Creator #5
Posted 29 December 2015 - 09:05 PM
A root API? Good idea. Is this rooting also applicable for other OSes?
Cloud Ninja #6
Posted 29 December 2015 - 09:12 PM
A root API? Good idea. Is this rooting also applicable for other OSes?
This exact program? no. Although if you want me to i can try to make a universal unlock tool for OS's? Honestly i can just have the user input the pastebin code for the OS instead of wrapping the O installer the entire time, that might work. Ill experiment and get back to you :D/>.
Creator #7
Posted 29 December 2015 - 10:11 PM
Feel free to destroy OmniOS! :P/> I have not abandoned it, just curious how resistant it is.
Cloud Ninja #8
Posted 01 January 2016 - 06:46 AM
I will be opening up a sort of "beta" edition of TKO to those who want to see how its coming along. Click HERE to see the new SU program (not implemented into TKO yet, the basics of it are barely finished)
LDDestroier #9
Posted 09 January 2016 - 09:49 PM
GREAT FIGHTING! YOU WON BY TKO!

PUSH START
cyanisaac #10
Posted 11 January 2016 - 03:04 AM
I would recommend having TKO do minimal modification out of the box to O, and then what I would recommend is that you should integrate with O's PIN system.

So it would go like this:

Ask for user PIN > Hash input with salts (ask ProjectB for details) > Check against user's PIN > If PIN is correct, return a read-only version of the fs API that has root access.

And then if the user doesn't have a PIN I would recommend disabling superuser entirely (for security) or warning the user against it.

Just some thoughts, hopefully this is semi-useful to you.
Cloud Ninja #11
Posted 11 January 2016 - 11:28 AM
I would recommend having TKO do minimal modification out of the box to O, and then what I would recommend is that you should integrate with O's PIN system.

So it would go like this:

Ask for user PIN > Hash input with salts (ask ProjectB for details) > Check against user's PIN > If PIN is correct, return a read-only version of the fs API that has root access.

And then if the user doesn't have a PIN I would recommend disabling superuser entirely (for security) or warning the user against it.

Just some thoughts, hopefully this is semi-useful to you.
I'm making TKO completely independent from O eventually.The SU will have seperate passwords and all that will be done is have special variables added to O's startup to allow SU to give SU access, as well as have SU create a background coroutine that stops you from removing it without also wiping the variable backups to prevent full root without you specifically requesting full system root.
cyanisaac #12
Posted 12 January 2016 - 05:56 PM
I would recommend having TKO do minimal modification out of the box to O, and then what I would recommend is that you should integrate with O's PIN system.

So it would go like this:

Ask for user PIN > Hash input with salts (ask ProjectB for details) > Check against user's PIN > If PIN is correct, return a read-only version of the fs API that has root access.

And then if the user doesn't have a PIN I would recommend disabling superuser entirely (for security) or warning the user against it.

Just some thoughts, hopefully this is semi-useful to you.
I'm making TKO completely independent from O eventually.The SU will have seperate passwords and all that will be done is have special variables added to O's startup to allow SU to give SU access, as well as have SU create a background coroutine that stops you from removing it without also wiping the variable backups to prevent full root without you specifically requesting full system root.

Hmm, okay. I don't know why TKO would be made independent from O, it sounds like you're making a new OS instead of a tool ;P.

as well as have SU create a background coroutine that stops you from removing it without also wiping the variable backups to prevent full root without you specifically requesting full system root.

That sounds like a bad idea. I'm not too familiar with how coroutines work (I've only used parallel), but definitely add in other layers of security like read-only tables (proxy tables) into your code. I feel like someone could figure out how to bypass something somehow, and then make changes before halting the system. This happened when I tried adding security to OTOS long ago - people could make changes before the background process could catch up to restore it.
Cloud Ninja #13
Posted 12 January 2016 - 09:10 PM
I would recommend having TKO do minimal modification out of the box to O, and then what I would recommend is that you should integrate with O's PIN system.

So it would go like this:

Ask for user PIN > Hash input with salts (ask ProjectB for details) > Check against user's PIN > If PIN is correct, return a read-only version of the fs API that has root access.

And then if the user doesn't have a PIN I would recommend disabling superuser entirely (for security) or warning the user against it.

Just some thoughts, hopefully this is semi-useful to you.
I'm making TKO completely independent from O eventually.The SU will have seperate passwords and all that will be done is have special variables added to O's startup to allow SU to give SU access, as well as have SU create a background coroutine that stops you from removing it without also wiping the variable backups to prevent full root without you specifically requesting full system root.

Hmm, okay. I don't know why TKO would be made independent from O, it sounds like you're making a new OS instead of a tool ;P.

as well as have SU create a background coroutine that stops you from removing it without also wiping the variable backups to prevent full root without you specifically requesting full system root.

That sounds like a bad idea. I'm not too familiar with how coroutines work (I've only used parallel), but definitely add in other layers of security like read-only tables (proxy tables) into your code. I feel like someone could figure out how to bypass something somehow, and then make changes before halting the system. This happened when I tried adding security to OTOS long ago - people could make changes before the background process could catch up to restore it.
You know how someone could bypass something somehow? Just look at my code and rebuild it. It isnt hard :P/>
Cloud Ninja #14
Posted 20 February 2016 - 04:17 PM
TKO Is making a comeback everyone. I took a break from lua to learn python a little bit and im coming back to at least build a working version of TKO's SU binary