Omnimaga

Calculator Community => Other Calc-Related Projects and Ideas => TI Z80 => Topic started by: lookitsan00b on December 15, 2010, 06:14:25 pm

Title: YASS (Yet Another Security Suite)
Post by: lookitsan00b on December 15, 2010, 06:14:25 pm
ok how many does this make it? :P

I just wanted to do it for the fun of it (and experience), but these are the features of SECURITE: (name subject to change)

 blocks APPS, PRGM, MEM, LINK, and CATALOG.
   why CATALOG? because that contains the Asm(prgm tokens, which can be used to re-run the program and reset the key.

 currently supports a 5 (or less) keypress 'string'. Could be longer (would actually only have to delete code ;) ), but it might be too easy to forget.
   Automatically disables security when the keystring is entered.
   Sorry, no [Enter] in the keystring. That is used to confirm it.

 Re-enables everything with [2nd][TBLSET] (thats on F2, for quick reference)
   What does that do anyways? :P
   If you really want TBLSET, just re-enable it and try again. TBLSET is enabled when the security is.

 Installs a raw key hook to appbackupscreen, so running virtually any ASM program will disable it...
   Hey, its not an app... (could use appvars... <- possible future update)
   Disables with any method that disables any raw key hook, only way I know of is PTT... (saved me the trouble of pulling batteries quite often earlier...)
   ↑↑↑ possible future update, blocking PTT
   are there any other methods of breaking a raw key hook?

 Virtually unbreakable with a good key, and followed by 'Clear Entries' (or 2.53MP and up scrolling up and manually deleting)
   Only way out I know of is PTT.
      Does that have a key value associated with it?

 size. that is its awesomeness factor. 170 bytes on-calc, and 229 on computer. Almost smaller than a one-line BASIC program!

I am having trouble with:
  displaying the prompt for the keystring. Oddly, I cannot get b_call(_puts) to work. :banghead:

I had trouble with:
  not initializing the keystring length. lol I almost posted about it working on wabbit but not on-calc :P

Edit:
wrote it from scratch today :P

PTT = Push to test, triggered by pressing ON while holding left and right arrows.
Compiled with 100% MIMAS 0.2.
Title: Re: YASS (Yet Another Security Suite)
Post by: c.sprinkle on December 15, 2010, 06:19:53 pm
This is nice. I made a program that locks the calc so you have to enter a password when you turn it on. It has to have Start-Up to work, though. :( Here it is:
Title: Re: YASS (Yet Another Security Suite)
Post by: souvik1997 on December 15, 2010, 06:21:40 pm
The input for the bcall PutS is the pointer to the string to be dispayed in hl.

Example:
Code: [Select]
ld hl,Text
bcall PutS
ret

Text:
DB "TO BE DISPLAYED",0
Title: Re: YASS (Yet Another Security Suite)
Post by: lookitsan00b on December 15, 2010, 06:25:20 pm
The input for the bcall PutS is the pointer to the string to be dispayed in hl.

Example:
Code: [Select]
ld hl,Text
bcall PutS
ret

Text:
DB "TO BE DISPLAYED",0


I know that. but it doesn't seem to be working:

Code: [Select]
LD HL,0
LD (penCol),HL
LD HL,StrGetKeys
BCALL PutS
...scrolls down to StrGetKeys...
StrGetKeys:
DB "Enter PassCode",0

It seems to do nothing most of the time, and spit out a tiny bit of garbage the rest of the time.
Title: Re: YASS (Yet Another Security Suite)
Post by: souvik1997 on December 15, 2010, 06:27:01 pm
It should be ld (curcol),hl ;(or currow, I don't remember exactly)
Title: Re: YASS (Yet Another Security Suite)
Post by: lookitsan00b on December 15, 2010, 06:28:54 pm
well thats not what "Learn TI-83+ Assembly in 28 Days" had to say about it :P

I'll try curCol first...

EDIT: nope, its curRow :P
Title: Re: YASS (Yet Another Security Suite)
Post by: Deep Toaster on December 15, 2010, 06:42:40 pm
Hmm, if it's at appBackUpScreen and an ASM program messes it up, wouldn't it cause the hook to run random data as code? That might get ugly.

Not sure if that's how it works, though.
Title: Re: YASS (Yet Another Security Suite)
Post by: lookitsan00b on December 15, 2010, 06:45:53 pm
nope. the OS automatically checks the first byte to see if it is $83 before running it.

also, my previous post was #100000 :D
Title: Re: YASS (Yet Another Security Suite)
Post by: Runer112 on December 15, 2010, 06:46:30 pm
This is like the second topic in the past 24 hours mimicking my raycaster's subject format! ;)


Regarding the topic at hand, I don't know much about hooks but I'll throw out a wild guess here. Is this problem possibly due to the same reason that PutS doesn't work in Apps? In which case the solution would be to use a PutC loop?

Another possible cause: Is your source code set to originate at the location the hook will exist in RAM? If not, StrGetKeys would be compiled to an incorrect value.
Title: Re: YASS (Yet Another Security Suite)
Post by: Deep Toaster on December 15, 2010, 06:50:31 pm
nope. the OS automatically checks the first byte to see if it is $83 before running it.

also, my previous post was #100000 :D

Oh, right, forgot.

And nice :hyper:

/me loses the Game because of its alt-text
Title: Re: YASS (Yet Another Security Suite)
Post by: lookitsan00b on December 15, 2010, 09:59:19 pm
This is like the second topic in the past 24 hours mimicking my raycaster's subject format! ;)


Regarding the topic at hand, I don't know much about hooks but I'll throw out a wild guess here. Is this problem possibly due to the same reason that PutS doesn't work in Apps? In which case the solution would be to use a PutC loop?

Another possible cause: Is your source code set to originate at the location the hook will exist in RAM? If not, StrGetKeys would be compiled to an incorrect value.

Well I thought it was a neat title, so I copied it. (and you weren't the only one working on a raycaster before squigetx's, mine works AND has a maze generation program attached :P)

The puts problem is fixed, I was setting penCol instead of curRow :P

Now I wonder: any way to detect kOn with b_call(_getkey) without the error message? I know kOn=0 in the current situation...

Oh, and you can now put kEnter in your keystring! The input is now terminated by On. (since that doesn't return anything anyways) it does throw an error, but don't worry, it won't interfere, and pushing either gives the same effect of successful installation.
Title: Re: YASS (Yet Another Security Suite)
Post by: lookitsan00b on December 16, 2010, 12:40:08 am
I hate to double-post, even in my own topic but...

I have it creating an appvar (87 bytes + length(kStr)) and archiving it, deleting it if it already exists, all that. But I seem to lose it in the mess that is ROM, because when it ought to run the hook, it uninstalls it.

But wow: all this to get rid of occasional uninstall on APD, as well as enabling asm programs.

I had to add like 20 b_calls to get this working... wow.

I'm gonna try incrementing past entire pages now... see ya on the flip side :hyper: :hyper: :hyper:

EDIT: nope. grr what do I need to do to convert ChkFindSym to install_raw_key_hook?
Title: Re: YASS (Yet Another Security Suite)
Post by: lookitsan00b on December 16, 2010, 02:44:38 pm
Well I realized that appvar + hook = fail.

It works nice in an app, because apps always begin at the start of a page. Not so with an appvar. This makes referencing them interesting.

Also, I forgot about SMC: that fails.

So how do I compile an app with Mimas (0.2 :P)? I can LDIR my keystring and length every keypress (before checking to block it)... It shouldn't take much time at all. (after all, the hook has already loaded the rom page)

Any 8xp -> 8xk converters that would make my job easier?
Title: Re: YASS (Yet Another Security Suite)
Post by: yunhua98 on December 16, 2010, 02:47:46 pm
wow, a triple post.  O.O  although it is outside of time limit.  could you send the appvar with the source and convert to a text file and compl to an APP and the comp?  or compile it to a 8xp, send to comp, use the ASM file unsquisher, copy and paste the Hex into Sourcecoder, and compile with Axe?  (yeah, complicated)

also, according to your sig, you have a TI-94 SE.  :o  :P
Title: Re: YASS (Yet Another Security Suite)
Post by: lookitsan00b on December 16, 2010, 04:47:35 pm
what is this on-computer compiler you speak of ???
closest thing I have is wabbitsign.

EDIT: yeah that's actually been there a while. :P

EDIT2: then again, does Axe support Asm(prgmBLAHBLAH)? I gotta try ;)
Title: Re: YASS (Yet Another Security Suite)
Post by: thepenguin77 on December 16, 2010, 06:19:51 pm
About your running the archived appvar: While that is an awesome idea, Ti won't let you do it. Only the first few flash pages and last few flash pages are allowed to run code. Port 23 (http://wikiti.brandonw.net/index.php?title=83Plus:Ports:23) sets the upperbound limit and it is always set to only allow your apps to run. Which means that even if you do make a cool appvar that uses only relative addresses, the calc will instantly ram clear when you try to run the code.

Instead of using appBackUpScreen, might I suggest using smallEditRam. It is 107 bytes long and is almost never touched. Most games won't even kill it.
Title: Re: YASS (Yet Another Security Suite)
Post by: lookitsan00b on December 16, 2010, 06:44:22 pm
smallEditRam? what are the cases where it is touched? (and yes, my program will fit in there extremely easily, the appvar was 87 bytes + 1 byte per keypress, and that's with the header.)

umm... i wasn't getting ram clears.  just it wasn't running anything, no matter what I tried. I tried with/without padding two bytes for the length, all four page banks, and also incrementing and decrementing the page number! I got nothing. As in, it created the appvar, archived it, and definitely was finding it. but either it refused to set the hook (probably), or it was simply uninstalling it upon the first attempt to run...

now that I think about it, an app wouldn't work anyways. I'd still have to save the keystring somewhere, and that'd be just as easily corrupted as before.

Ok, the actual hook is 68 bytes, plus 2 bytes for string length and current entry, which leaves 37 bytes for the keystring :P wow that's a long one.

In other news:
 I really just need a way around PTT... all I can think of is IM 2. (which means another hook, depending on where I put the table and interrupt, i'm sure, but it'd be completely secure, anybody know a good place for the table? the interrupt will easily fit in between the four entries...)

 Also, the inclusion of ENTER in keystrings allows for extremely awesome and counter-intuitive keys, like "1/00[enter]" (if you have a buggy os, you can even force the user to crash it to unlock it :P)

 I'm pretty sure that pulling a battery when the OS has control does not result in a ram clear. I do know that at least 90% of the time it won't from the homescreen. So yay! don't have to worry about that.  Wow. Battery-pull proof... maybe...

 I might want to leave a backdoor. Other than re-sending the OS. Will simply plugging in a cable (without a calc on the other end) call an interrupt? if not, then that seems secure enough... otherwise, I'll have it auto-uninstall when anything is sent to the calc, unless it does that already. (or is the cable plug-in good enough?)

 Who else thinks an accessory program to modify the hook would be nice?  As in, changing which keys it blocks and which key re-enables it. It'd definitely be done in Axe :P

Either way, here is the program, moved to smallEditRam for security, and keystring upgraded to 37, as well as everything I may have mentioned before.
Title: Re: YASS (Yet Another Security Suite)
Post by: Deep Toaster on December 16, 2010, 07:35:56 pm
I think it's used for small-font prompts, like those used by some apps made by TI. It's rarely used, so you should be fine putting it in there.
Title: Re: YASS (Yet Another Security Suite)
Post by: lookitsan00b on December 16, 2010, 07:48:50 pm
ok thanks. also I majorly upgraded the post above. too lazy to undo and repost down here.

so yeah scroll up for an update ;) :P
Title: Re: YASS (Yet Another Security Suite)
Post by: DJ Omnimaga on December 16, 2010, 09:35:59 pm
This program seems interesting, I hope you can manage to do it. I doubt I'll use it myself, though, since no one touch my calc but it could be useful for people with parents that goes on tyrade and people clearing your memory. I guess it can't stop teachers from taking revenge against the protection and just take the calc away, though. X.x
Title: Re: YASS (Yet Another Security Suite)
Post by: lookitsan00b on December 18, 2010, 12:38:59 am
I found a way past Push-To-Test! :w00t:

All I did was:

 tell it to not APD (wish it were possible to avoid this)

 tell it to interpret OFF as a keypress, which, when pressed, runs my own power-down code. (still a bit buggy, if you push it too fast it'll turn right back on)

 And, finally, tell it to tell itself these things again when it does much of anything.

But fitting that code in the same 97 bytes was difficult. Keystrings are now limited (in my not-fully-tested version) to 13 due to memory.

The backdoor I've left is:

1: turn the calc 'off'
2: insert a cable, turning it back on
3: wait for it to APD (it should if you don't leave the homescreen)
4: enter any of the 3 PTT combos, then F1 to back out.

... actually I don't have access to a cable, so I'm not sure it works. I'll check it tomorrow.
Title: Re: YASS (Yet Another Security Suite)
Post by: DJ Omnimaga on December 18, 2010, 12:42:31 am
Wait so this trick prevents PTT from doing its appropriate effect? Or does it let you exit PTT? If it's the later, it would be cool if you found a way to exit PTT without using the conventional way and without having a patch installed.
Title: Re: YASS (Yet Another Security Suite)
Post by: lookitsan00b on December 18, 2010, 12:55:32 am
Wait so this trick prevents PTT from doing its appropriate effect? Or does it let you exit PTT? If it's the later, it would be cool if you found a way to exit PTT without using the conventional way and without having a patch installed.

Well.. not exactly. This just prevents my hooks from being deleted by PTT.

Previously, one could simply open the PTT menu to bypass my whole security system. This whole part blocks the whole PTT menu, thus making it harder to uninstall without the key.

Although a 30 byte program that lets you break out of a full PTT is possible, that's not really my goal here.  I'm just trying to make a practically unbreakable menu blocker.  So I guess it might not be much of a 'suite' after all...
Title: Re: YASS (Yet Another Security Suite)
Post by: DJ Omnimaga on December 18, 2010, 12:57:31 am
Ah ok I see, thanks for clarifying. Still it sounds good, though.
Title: Re: YASS (Yet Another Security Suite)
Post by: lookitsan00b on December 20, 2010, 10:38:57 am
well last night I had my worst crash ever.

My hook for some reason returned k3 no matter what I pressed. (lol stack fail)

found out my backdoor was not working, and after messing with it, my powerdown routine works less reliably than ever, doesn't actually turn the screen off, and is way too large. But it returns the right numbers. :D

So it looks like this is going to be an app (<500 bytes). any suggestions as to which compiler to download? smaller = better, and I am porting from Mimas, so the less translation I have to do...
Title: Re: YASS (Yet Another Security Suite)
Post by: yunhua98 on December 20, 2010, 10:42:01 am
SPASM is pretty good...
but I'm a complete ASM n00b, so...
Title: Re: YASS (Yet Another Security Suite)
Post by: DJ Omnimaga on December 20, 2010, 10:54:48 pm
Mimas seems pretty good, but if you're gonna code on the computer, most people appear to use Spasm from Revsoft or ZDS
Title: Re: YASS (Yet Another Security Suite)
Post by: souvik1997 on December 20, 2010, 11:55:09 pm
You can take the compiled Mimas ASM code and put it into an Axe program and compile the program as an app.

And in my opinion Brass and ZDS are really good assemblers.
Title: Re: YASS (Yet Another Security Suite)
Post by: lookitsan00b on December 21, 2010, 12:16:57 pm
You can take the compiled Mimas ASM code and put it into an Axe program and compile the program as an app.

And in my opinion Brass and ZDS are really good assemblers.

How exactly would I do that?
Code: [Select]
:Asm(prgmSECURITE) doesn't seem to work...

:facepalm:

How about:
Code: [Select]
:[prgmSECURITE]
And I thought I had found a better way... involving appvars and indirect hooking... only to realize that you can't run code directly from appvars...

This might help a bunch, assuming 0.4.5 supports this :P
Title: Re: YASS (Yet Another Security Suite)
Post by: Builderboy on December 21, 2010, 01:39:48 pm
I don't know of a way to include compiled assembly directly into an Axe program, but an Axe program could be writen to *generate* the hex you need from the program you want to convert.  So it would take your compiled program and generate an Axe program which you could then compile into an App :D
Title: Re: YASS (Yet Another Security Suite)
Post by: lookitsan00b on December 21, 2010, 07:58:28 pm
wow that seems like a lot of work...

but yeah the only thing I could get to not cause an error was
Code: [Select]
:AsmPrgmSECURITE
but that only gave me a 18-byte file, it should be around 200 bytes...

Can't wait till 0.4.7 :D

Till then, I might try loading the hooks to page 3...
Title: Re: YASS (Yet Another Security Suite)
Post by: lookitsan00b on January 02, 2011, 11:07:12 pm
I'm back!

I wrote a somewhat reliable (like 40%) hex dumper.  Been using that to compile to an app with Axe.

Had a problem finding the right number to ORG to, but bcall puts helped a bit.

Now I've sucessfully transferred what I had to an app.  Having interesting problems with the power-down routine, though.

First, pushing a USB cable (I know it causes an interrupt) doesn't 'wake up' the calculator.  I'm setting port 3 to $11, so I don't see what the problem is.  If you do push a cable while its 'off', it will refuse to recognize the 'off' key until you enter the password. Entering the password and re-enabling security fixes this though, presumably due to resetting and re-setting 7,(IY+$28).

Here are the relevant portions of code:
Code: [Select]
Raw Key Hook:
...
If unlocked other stuff including 'RES  7,(IY+$28)
...
SET  7,(IY+$28)
...
CPDR           ;check key pressed against keys to block
JR  Z,Block
CP  kOff
RET  NZ       ;let it go if none of those
DI
LD  B,3          ;number of interrupts to wake up.  The 'on' key seems to like to cause extra.
LD  A,2          ;turn off lcd
OUT  ($10),A
  Off:
LD  A,8        clear interrupts
OUT  (3),A
LD  A,$11     ;On key and link/usb port
OUT  (3),A
  OffLoop:
IN  A,(4)      ;interrupt state
AND  $F7      ;ignore the 'on' key status bit
JR  Z,OffLoop
DJNZ  Off      ;More interrupts needed to exit?
LD  B,A
LD  A,3        ;turn on lcd
OUT  ($10),A
LD  A,$0B     ;back to normal
OUT  (3),A
EI
LD  A,$10
AND  B     ;= BIT 4,B
JR  Z,Block
LD  A,$FF
LD  (CurKStr),A    ;see App Change Hook, also used as a pointer to the current key in the keystring
  Block:
XOR  A
RET
...
App Change Hook
DB  $83
PUSH  AF     ;seems to act funny if I don't restore this
SET  7,(IY+$28)     ;treats kOff as a keypress, disables PTT as a side-effect
LD  A,(CurKStr)
CP  $FF
JR  NZ,Fwd
RES  7,(IY+$28)     ;treat kOff as a command
  Fwd:
POP  AF
RET
Title: Re: YASS (Yet Another Security Suite)
Post by: DJ Omnimaga on January 04, 2011, 02:10:40 am
Hmm interesting, could you enlighten me what is an hex dumper used for, though?
Title: Re: YASS (Yet Another Security Suite)
Post by: lookitsan00b on January 04, 2011, 07:17:37 pm
Well, Mimas (or at least 0.2) cannot compile to an App.  Axe can, but it requires the source to be in hex format.  So... I compile with Mimas, dump the hex from the compiled source into a BASIC program, add the header and 'Asm(...)', and compile that to an App.

I found out that I am no good with zero-indexed arrays.  Ends up I was having a 1-byte memory leak into XFact, but I don't think that's my problem.

I had nothing better to do, so I made an editor for the hook.  It can edit the whole of smallEditRam, with Getkey equates and important labels included.  It can also fully uninstall the hooks, as well as re-installing them... at least in theory.  It freezes when you try to re-install, and, thanks to RAM clears, I have no idea what the problem is, although I bet its something with trying to code that routine in hex.  I managed to get one build to not freeze, but it gave me an ERROR: UNDEFINED.  This is useful if you don't want the default blocks.  For example, you could block kExtApps instead of kAppsMenu, or kOvrW and kOvrWAll instead of kLinkIO.

But yeah. GetKey equates. In a separate axe program... in a link below.  But be warned, its around 3kb.

PS:  I used dual-reverse-LBPS for the data in there, and '(' will jump to the beginning, and ')' to the end.

Edit: Lol yep. It had everything to do with trying to code in hex. I forgot the processor was little-endian :P

Also, please don't try things like kExtApps or kPointOn, the hook only recognises the key used to confirm that menu option.

PPS: Sorry. I like to make up my own terminology for complex ideas.  Dual-Reverse-LBPS refers to two length-prefixed strings, one starting at the bottom going up, the other at the top going down.

Update:
  the memory leak and re-installing are fixed
  this is now a piece of hybrid software, the editor/menus were included in the app.

Just wondering, anybody ever do Axe+ASM+BASIC, in one application? :hyper: (not App, application)
Title: Re: YASS (Yet Another Security Suite)
Post by: DJ Omnimaga on January 05, 2011, 01:40:23 am
Oh right I see now.

As for me, I never programmed in ASM, just in BASIC and Axe and I planned to use both at once one day, but I'm sure for large games some people may want to use all 3 to circumvent the code limit.
Title: Re: YASS (Yet Another Security Suite)
Post by: lookitsan00b on January 08, 2011, 11:51:10 pm
grrr... I wanted to include a backup utility with this, but its failing.

My calc is one of the newer ones, so no pages 4-7.  I would think pages 2 and 3 would work well enough though... but apparently not.  The calc crashes when trying to parse BASIC with just a backup, and resets immediately upon return to ti-os with a backup and restore.

Scratch that, re-running the app after backup strangely prevents crashing, but the restore still fails.

Everything else mostly works.  That'd be the backdoor that still fails.
Title: Re: YASS (Yet Another Security Suite)
Post by: DJ Omnimaga on January 09, 2011, 08:47:10 pm
Sorry to hear, I hope you can figure it out soon :(

By the way I assume page 4-7 are the extra RAM pages? I think those should be avoided if possible, for maximum compatibility with newer calcs.
Title: Re: YASS (Yet Another Security Suite)
Post by: jnesselr on January 09, 2011, 09:15:19 pm
grrr... I wanted to include a backup utility with this, but its failing.

My calc is one of the newer ones, so no pages 4-7.  I would think pages 2 and 3 would work well enough though... but apparently not.  The calc crashes when trying to parse BASIC with just a backup, and resets immediately upon return to ti-os with a backup and restore.

Scratch that, re-running the app after backup strangely prevents crashing, but the restore still fails.

Everything else mostly works.  That'd be the backdoor that still fails.
Actually, 82 (ram page 2) should work. TIOS uses 80 and 81 (ram pages 0 and 1).
Title: Re: YASS (Yet Another Security Suite)
Post by: lookitsan00b on January 09, 2011, 10:37:57 pm
Sorry to hear, I hope you can figure it out soon :(

By the way I assume page 4-7 are the extra RAM pages? I think those should be avoided if possible, for maximum compatibility with newer calcs.

Yep, they are.  And I'm also avoiding these because I wouldn't be able to test to see if they work...

grrr... I wanted to include a backup utility with this, but its failing.

My calc is one of the newer ones, so no pages 4-7.  I would think pages 2 and 3 would work well enough though... but apparently not.  The calc crashes when trying to parse BASIC with just a backup, and resets immediately upon return to ti-os with a backup and restore.

Scratch that, re-running the app after backup strangely prevents crashing, but the restore still fails.

Everything else mostly works.  That'd be the backdoor that still fails.
Actually, 82 (ram page 2) should work. TIOS uses 80 and 81 (ram pages 0 and 1).

Well I'm not sure whether its 82 or 83 that is failing. They both should work fine, but they don't seem to.  I'm not sure whether its because I'm messing up somewhere or because of some OS glitchy-thingy.

From what I've read, the OS uses/can use pages 2 and 3 for file transfers.  Maybe since byte $4000 of page 2 isn't FF or 00 or something like that, it thinks it has a file transfer going on... ???  And then, why does it only crash when I push enter? (I don't edit/backup $4000-4400/$8000-8400, because wikiti says the OS uses this general area, although probably not for anything permanent/important)

On second thought, I don't see why a backup works fine (mostly), but when I restore, it crashes?  Meh, probably something I'm doing wrong there.
Title: Re: YASS (Yet Another Security Suite)
Post by: lookitsan00b on January 28, 2011, 05:01:46 pm
Well guys, seems I'm the type of person to just let projects almost die then start back up again :P

Here's that long awaited update...

PS: for security's sake, you may want to add blocks to Mode (because of Mode, Alpha + S), as well as TBLSET, WINDOW, and FORMAT (because they, for a single keypress, enable the normal powerdown, enabling PTT, which deletes the hook).  Of course, if you think you might forget your password, don't block one of those three.

If you do forget your password, sorry, all you can do is (unless you have a program in your history which uses a raw key hook) pull all five batteries.

PPS: if you are confused as to what the values mean in the 'Block Editor', they are copied straight out of the key equates section of ti83plus.inc for your convenience.

EDIT: it has come to my attention that pulling a battery during graphing forces a mem clear. you may want to block GRAPH.
Title: Re: YASS (Yet Another Security Suite)
Post by: DJ Omnimaga on January 30, 2011, 04:49:01 am
More blocks are good, especially for people like Yunhua98 x.x

By the way, when a program is in Pause mode or Input mode (like Wacky Fun Random Numbar Generator :P), it seems that removing a battery causes a RAM clear too. That might be a bit hard to block, though, other than blocking the entire prgm menu and prgm command. Same thing goes for long strings of Sin/rand commands or the SortA/D( commands if someone sorts a 999 elements list.
Title: Re: YASS (Yet Another Security Suite)
Post by: lookitsan00b on March 06, 2011, 11:30:23 pm
More blocks are good, especially for people like Yunhua98 x.x

By the way, when a program is in Pause mode or Input mode (like Wacky Fun Random Numbar Generator :P), it seems that removing a battery causes a RAM clear too. That might be a bit hard to block, though, other than blocking the entire prgm menu and prgm command. Same thing goes for long strings of Sin/rand commands or the SortA/D( commands if someone sorts a 999 elements list.

Its been a while, and I had completely given up on this until I started looking at writing a hobby OS.  I was reading a certain thread on Cemetech when I ran into a link to an IRC log which detailed precisely the solution to this problem. Thanks Brandon W, and yay it works!

Simply put, running 'seq(select(rand(999),1),A,1,999)' and pulling a battery simply aborts the process and doesn't clear ram! (I've checked, no memory leak either :D)

Actually thats only enabled when security is active.  Can be moved easily enough, Its just always a pain to dump... :(

Speaking of which, you can now change which key activates it! I even included a special case for kOff!

It used to be required for a blocked key to return 0. No longer! Again, a special case was included for kOff. (kAreYouSure = awesomess :))

Also, kMode is now blocked by default.

I figured out the cause of a couple menus unblocking the normal powerdown, still searching for a solution*.  Its because certain (or maybe all) menus dont re-call my app change hook when you reload (like pressing 2nd-Format in the Format Menu) them, yet still mess up flags. However, all of these menus are on the lighter-colored buttons at the top.

A slightly improved editor is in the works.  Its quite buggy at the moment, which, among other things, will delay an update to tomorrow at the earliest.

PS: seq(select(rand(999),1),A,1,999) FTW :D

*just thought of a possibility!
Title: Re: YASS (Yet Another Security Suite)
Post by: DJ Omnimaga on March 07, 2011, 10:04:43 pm
I'm glad you,re still around and that's it's still progressing. ^^

Is the isometric engine still in the works too, by the way?
Title: Re: YASS (Yet Another Security Suite)
Post by: lookitsan00b on March 21, 2011, 05:09:40 pm
I'm glad you,re still around and that's it's still progressing. ^^

Is the isometric engine still in the works too, by the way?
No... not right now... the math to put a sprite on screen is evading me...

Also, sry for never getting around to uploading an update :P

The new editor is mostly bug-free, but the part for the remapping keys is failing D: I was a noob and am still using two or three blocks of extremely similar code...

Added in some extra security.  There's still one known flaw (excluding pulling all five batteries for a good hour or more or re-installing the os, although the latter might not work :P) Surprisingly, one of the 4-6 keys that were causing problems before was a nonconformist... oh well, its still rather good security, considering that the person trying to break in has to know how this program works, how that particular key behaves, AND about push-to-test.  Oh well... I'll fix it later...

Also, the app signing has apparently pushed this to a two page app? no sense it does make...

PS: about the 'Deactivation' menu option under editv2, don't forget about the delete key :D (I gotta write a readme)
Title: Re: YASS (Yet Another Security Suite)
Post by: DJ Omnimaga on March 25, 2011, 06:50:53 pm
Ah ok, well feel free to ask help in the Axe/general forum for the isometric stuff. I'm sure some people will be happy to help.

As for app signing I have no clue. Normally Axe only creates 1 page apps ???. Maybe signing an app adds code to the app and if it exceeds 16384 bytes then the app becomes 2 pages?