Author Topic: Way to determine if an Assembly program was created from Axe source?  (Read 6522 times)

0 Members and 1 Guest are viewing this topic.

Offline Xanwell

  • LV1 Newcomer (Next: 20)
  • *
  • Posts: 16
  • Rating: +0/-0
    • View Profile
Does anyone know of any way to determine whether or not an Assembly program was compiled from an Axe source file rather than written directly in Assembly language? I was thinking that the compiler itself might leave some sort of identification or header on the compiled Assembly program, but I don't know of any for sure.


Spoiler For My current projects:
Kalima's Quest: An Axe RPG [5%]
--Sprites: 40%
--Battle engine: 0%
--Map engine: 0%
--Story: 10%

Avoider [50%]
--Engine: 85%
--Enemy AI: 15%
--Graphics: 50%

Offline Xeda112358

  • they/them
  • Moderator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 4704
  • Rating: +719/-6
  • Calc-u-lator, do doo doo do do do.
    • View Profile
Re: Way to determine if an Assembly program was created from Axe source?
« Reply #1 on: February 25, 2011, 02:06:57 pm »
I am not sure, but I believe that an app made with Axe has something to identify it because I had problems with that :D Otherwise, I have not found anything in the code to signal that it was an Axe program.

Offline Xanwell

  • LV1 Newcomer (Next: 20)
  • *
  • Posts: 16
  • Rating: +0/-0
    • View Profile
Re: Way to determine if an Assembly program was created from Axe source?
« Reply #2 on: February 25, 2011, 02:08:24 pm »
an app made with Axe has something to identify it because I had problems with that

Isn't that just the lack of a valid app signature?


Spoiler For My current projects:
Kalima's Quest: An Axe RPG [5%]
--Sprites: 40%
--Battle engine: 0%
--Map engine: 0%
--Story: 10%

Avoider [50%]
--Engine: 85%
--Enemy AI: 15%
--Graphics: 50%

Offline Munchor

  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6199
  • Rating: +295/-121
  • Code Recycler
    • View Profile
Re: Way to determine if an Assembly program was created from Axe source?
« Reply #3 on: February 25, 2011, 02:09:23 pm »
Does anyone know of any way to determine whether or not an Assembly program was compiled from an Axe source file rather than written directly in Assembly language? I was thinking that the compiler itself might leave some sort of identification or header on the compiled Assembly program, but I don't know of any for sure.

The best way to find out is to use a disassembler (like Assemblex) and compare the code made by Axe Parser and the code by a normal Assembly Assembler.

Offline Xanwell

  • LV1 Newcomer (Next: 20)
  • *
  • Posts: 16
  • Rating: +0/-0
    • View Profile
Re: Way to determine if an Assembly program was created from Axe source?
« Reply #4 on: February 25, 2011, 02:10:39 pm »
Good point... unfortunately I lack enough knowledge of Assembly to even be able to tell the difference :P


Spoiler For My current projects:
Kalima's Quest: An Axe RPG [5%]
--Sprites: 40%
--Battle engine: 0%
--Map engine: 0%
--Story: 10%

Avoider [50%]
--Engine: 85%
--Enemy AI: 15%
--Graphics: 50%

Offline AngelFish

  • Is this my custom title?
  • Administrator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3242
  • Rating: +270/-27
  • I'm a Fishbot
    • View Profile
Re: Way to determine if an Assembly program was created from Axe source?
« Reply #5 on: February 25, 2011, 02:18:16 pm »
Well, if you see a bunch of jumps and almost no system calls, then it's probably Axe. Come to think of it, that'd work for pretty much any compiler you care to name  :P
« Last Edit: February 25, 2011, 02:18:46 pm by Qwerty.55 »
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

Offline Xanwell

  • LV1 Newcomer (Next: 20)
  • *
  • Posts: 16
  • Rating: +0/-0
    • View Profile
Re: Way to determine if an Assembly program was created from Axe source?
« Reply #6 on: February 25, 2011, 02:19:36 pm »
Ideally it would be a method the calculator itself could use to check each program, if such a thing exists.


Spoiler For My current projects:
Kalima's Quest: An Axe RPG [5%]
--Sprites: 40%
--Battle engine: 0%
--Map engine: 0%
--Story: 10%

Avoider [50%]
--Engine: 85%
--Enemy AI: 15%
--Graphics: 50%

Offline FinaleTI

  • Believe in the pony that believes in you!
  • CoT Emeritus
  • LV10 31337 u53r (Next: 2000)
  • *
  • Posts: 1830
  • Rating: +121/-2
  • Believe in the pony that believes in you!
    • View Profile
    • dmuckerman.tumblr.com
Re: Way to determine if an Assembly program was created from Axe source?
« Reply #7 on: February 25, 2011, 03:09:40 pm »
Some would have a default Axe icon, but I'm pretty sure nostub programs don't have this, and you can define a custom icon now, so...


Spoiler For Projects:

My projects haven't been worked on in a while, so they're all on hiatus for the time being. I do hope to eventually return to them in some form or another...

Spoiler For Pokemon TI:
Axe port of Pokemon Red/Blue to the 83+/84+ family. On hold.

Spoiler For Nostalgia:
My big personal project, an original RPG about dimensional travel and a few heroes tasked with saving the world.
Coding-wise, on hold, but I am re-working the story.

Spoiler For Finale's Super Insane Tunnel Pack of Doom:
I will be combining Blur and Collision Course into a single gamepack. On hold.

Spoiler For Nostalgia Origins: Sky's Story:
Prequel to Nostalgia. On hold, especially while the story is re-worked.

Offline Builderboy

  • Physics Guru
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5673
  • Rating: +613/-9
  • Would you kindly?
    • View Profile
Re: Way to determine if an Assembly program was created from Axe source?
« Reply #8 on: February 25, 2011, 03:12:06 pm »
As far as I know, there is no 100% accurate way of doing this, because hypothetically, since Axe compiles to direct asm, any asm programmer could easily write a program (if they wanted to) that would look identical to the same program programmed in axe

Offline AngelFish

  • Is this my custom title?
  • Administrator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3242
  • Rating: +270/-27
  • I'm a Fishbot
    • View Profile
Re: Way to determine if an Assembly program was created from Axe source?
« Reply #9 on: February 25, 2011, 03:13:05 pm »
Ideally it would be a method the calculator itself could use to check each program, if such a thing exists.

Well, if the author wanted to make their program identifiable as an Axe program, then they could simply do

Code: [Select]
Goto SRT
Asm415845
Lbl SRT

That'd show up as "AXE" in any hex editor.

But Builder is right. A good Axe programmer could make their program modify itself to not show that it was compiled with Axe without too much effort.
« Last Edit: February 25, 2011, 03:14:40 pm by Qwerty.55 »
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

Offline Xeda112358

  • they/them
  • Moderator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 4704
  • Rating: +719/-6
  • Calc-u-lator, do doo doo do do do.
    • View Profile
Re: Way to determine if an Assembly program was created from Axe source?
« Reply #10 on: February 25, 2011, 04:37:14 pm »
Okay, here is the Axe starting code for an APP:
CD8B40       ;jumps to the program code
EF364C       ;gets ready to exit
CD50002740   ;exits

I believe that last one can be a simple EF2740 because that bcall automatically exits (meaning you don't need to use bjump)

Offline ztrumpet

  • The Rarely Active One
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5712
  • Rating: +364/-4
  • If you see this, send me a PM. Just for fun.
    • View Profile
Re: Way to determine if an Assembly program was created from Axe source?
« Reply #11 on: February 25, 2011, 04:41:10 pm »
Okay, here is the Axe starting code for an APP:
CD8B40       ;jumps to the program code
EF364C       ;gets ready to exit
CD50002740   ;exits

I believe that last one can be a simple EF2740 because that bcall automatically exits (meaning you don't need to use bjump)
Oh yes, I forgot about this.   This is so in Axe you can use a Return to exit an App from anywhere. :)  The entire App is just one big subroutine. :D

Offline Compynerd255

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 336
  • Rating: +53/-4
  • Betafreak Games
    • View Profile
    • Betafreak Games
Re: Way to determine if an Assembly program was created from Axe source?
« Reply #12 on: February 25, 2011, 05:11:58 pm »
I'm trying to understand why this would be useful. An Axe program is no different than any other assembly program, except for the way it is generated. If you wanted to dissassemble the code on the computer and check, by all means, check. But it isn't really useful on a calculator, unless you have a personal vendetta against Axe programs or non-Axe programs.

Also, ztrumpet, how can I get me one of those cool banners on my signature?

EDIT: Also, Xeda, what is the Omnimaga Anti-Riot squad?
« Last Edit: February 25, 2011, 05:12:46 pm by Compynerd255 »
The Slime: On Hold, preparing to add dynamic tiles

Axe Eitrix: DONE

Betafreak Games: Fun filled games for XBox and PC. Check it out at http://www.betafreak.com



Offline yunhua98

  • You won't this read sentence right.
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2718
  • Rating: +214/-12
  • Go take a dive in the River Lethe.
    • View Profile
Re: Way to determine if an Assembly program was created from Axe source?
« Reply #13 on: February 25, 2011, 06:04:43 pm »
The anti-riot squad was created to help the Omnimaga staff moderate the boards due to increased trolling around here.  They are basically Staff without the subforum for their projects, and they don't have activity requirements.

and yeah, I make useless programs all the time lol.  :P  But since when did you get more posts than me, Qwerty?  :o
« Last Edit: February 25, 2011, 06:05:50 pm by yunhua98 »

Spoiler For =====My Projects=====:
Minor setback due to code messing up.  On hold for Contest.
<hr>
On hold for Contest.


Spoiler For ===Staff Memberships===:






Have you seen any good news-worthy programs/events?  If so, PM me with an article to be included in the next issue of CGPN!
The Game is only a demo, the code that allows one to win hasn't been done.
To paraphrase Oedipus, Hamlet, Lear, and all those guys, "I wish I had known this some time ago."
Signature Last Updated: 12/26/11
<hr>

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Way to determine if an Assembly program was created from Axe source?
« Reply #14 on: February 25, 2011, 08:55:08 pm »
I'm trying to understand why this would be useful. An Axe program is no different than any other assembly program, except for the way it is generated. If you wanted to dissassemble the code on the computer and check, by all means, check. But it isn't really useful on a calculator, unless you have a personal vendetta against Axe programs or non-Axe programs.

Also, ztrumpet, how can I get me one of those cool banners on my signature?

EDIT: Also, Xeda, what is the Omnimaga Anti-Riot squad?
The only useful thing would be to figure out if somebody tried to pass an Axe program as an ASM program on ticalc.org, not giving any credit to Quigibo, or someone trying to impress Axe programmers claiming he made a pure-Axe TI-Boy SE but pass an ASM program as an Axe one. There are little chances that this would happen, though, and I have doubts that this happened so far.

As for the anti-riot squad it's an extra moderator group we recently added. We got more and more members at one point in February but it seems we attracted trolls from other websites in the process and it became near impossible for other busy staff to keep things clean.