I was messing around with the TI-Connect Chrome app the other day while trying to figure out some quirks in the linking protocol. The app refuses to send protected programs, including most assembly programs, but I found a relatively simple way to make it not do that:
  1. Open the TI Connect app
  2. Go to chrome://extensions
  3. In the Chrome apps section, find "TI Connect CE App for Chrome OS" and click "Details"
  4. Turn on the "Developer mode" toggle in the top right of the screen.
  5. Under "Inspect views", click "index.html" (The TI Connect app has to be currently running for this to appear)
  6. Switch to the Console tab
  7. Run the following code:
    Code:
    angular.element('#toolbar_add_from_comp').controller().fileTypes.PROTECTED_PROGRAM={name:"Protected Program",icon:"images/filetype_program.svg"}

  8. Send your program


You'll have to do this each time you start the app - I haven't yet found a way to make it permanent, without unpacking and repacking the app. I tried making a Chrome extension to patch it, but apparently, because of Chrome's permission model, it's impossible for extensions to modify other extensions even with the user's permission. Even stuff like the debugging API seems to be really restricted when dealing with other extensions.

Also, I have zero clue how angular works - if anyone knows how to get the controller without getting a random element from the page, please let me know.

edit: thanks to _iPhoenix_ for golfing help, 0x5
Looks good! Don't know when I'll be on ChromeOS again, but I'll be sure to save this when I do.
A bit of a hack but I suspect if you make it global, it might work in a chrome extension:


Code:
function globalCode(callback) {
    const script = document.createElement("script");
    script.innerHTML = `(${callback.toString()})()`;
    document.body.appendChild(script);
}
globalCode(() => {
    angular.element('#toolbar_add_from_comp').controller().fileTypes.PROTECTED_PROGRAM={name:"Protected Program",icon:"images/filetype_program.svg"}
});
mr womp womp wrote:
A bit of a hack but I suspect if you make it global, it might work in a chrome extension:


Code:
function globalCode(callback) {
    const script = document.createElement("script");
    script.innerHTML = `(${callback.toString()})()`;
    document.body.appendChild(script);
}
globalCode(() => {
    angular.element('#toolbar_add_from_comp').controller().fileTypes.PROTECTED_PROGRAM={name:"Protected Program",icon:"images/filetype_program.svg"}
});


Is it possible to unlock a protected assembly program?
BioHazard wrote:
mr womp womp wrote:
A bit of a hack but I suspect if you make it global, it might work in a chrome extension:


Code:
function globalCode(callback) {
    const script = document.createElement("script");
    script.innerHTML = `(${callback.toString()})()`;
    document.body.appendChild(script);
}
globalCode(() => {
    angular.element('#toolbar_add_from_comp').controller().fileTypes.PROTECTED_PROGRAM={name:"Protected Program",icon:"images/filetype_program.svg"}
});


Is it possible to unlock a protected assembly program?

Yes, sourcecoder can do it, you can also do it on-calc, some shells like cesium have that functionality as well.
  
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