Author Topic: Axe dissasembler  (Read 8087 times)

0 Members and 1 Guest are viewing this topic.

Offline Hayleia

  • Programming Absol
  • Coder Of Tomorrow
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3367
  • Rating: +393/-7
    • View Profile
Re: Axe dissasembler
« Reply #30 on: November 09, 2013, 09:07:53 am »
Also, even if the "disassembler" part was right, what does it have to do with Axe ?
I own: 83+ ; 84+SE ; 76.fr ; CX CAS ; Prizm ; 84+CSE
Sorry if I answer with something that seems unrelated, English is not my primary language and I might not have understood well. Sorry if I make English mistakes too.

click here to know where you got your last +1s

Offline SpiroH

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 712
  • Rating: +153/-23
    • View Profile
Re: Axe dissasembler
« Reply #31 on: November 09, 2013, 09:19:37 am »
So all this does is convert an existing prog to its hex? Because i thought decompiling was a bit more ???
And it is, in general! So, do not despair. ;)
That, i would call simply an object code dumper. A disassembler converts binary to assembly mnemonics (a bit more useful).
A decompiler 'tries' to retrieve the source statements of an higher-level language such as 'C', by inspecting and converting the binary.


Offline ClrDraw

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 627
  • Rating: +61/-2
    • View Profile
    • GitHub
Re: Axe dissasembler
« Reply #32 on: November 09, 2013, 11:49:49 am »
Quote
I wrote a 500-bytes equivalent in Axe a while ago that doesn't need any of your restrictions. It's called PROG2HEX, and what it does is simply getting a name from an input and unsquishing it in a program which has the same name starting with theta.
I've used prog2hex a couple times and I like it a lot.

But I don't like the idea of an Axe decompiler because, even though I usually include the source with my projects (sadly not with CMDv2, it got deleted after I compiled the app and the backup was too outdated to rewrite), there are some times that I don't want to release my entire source.
Visit my GitHub for all my TI programs as well as other projects.
Also check out my website.

Offline Digital

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 107
  • Rating: +0/-0
  • 10101
    • View Profile
    • Digital's Hp
Re: Axe dissasembler
« Reply #33 on: April 07, 2014, 08:17:29 am »
I understand you, but what if for example just runner112 has the decompiler so you can send him the asm programm(cmdv2) and he gives you the decompiled source(for easier rewrite)?
I'm sorry if i might make some mistakes, I'm German so English isn't my first language. Please correct me :)

Offline Aspiring

  • LV3 Member (Next: 100)
  • ***
  • Posts: 81
  • Rating: +5/-0
  • The only source of knowledge is experience-Einsten
    • View Profile
Re: Axe dissasembler
« Reply #34 on: April 07, 2014, 10:36:52 am »
Writing a decompiler would be a lot of work.  There is already a lack of motivation for many comunity projects as it is.  The problem is that the decompiler would have to have a version for (most) every version of axe.  Doing it would be a nightmare.  Not to mention it would probrably be harder to decompile the axe programs than it would to originally assemble them.  As nice as it might be, there will probably never be a axe program to axe source decompiler.  :(

Offline Art_of_camelot

  • ಠ_ಠ ( ͡° ͜ʖ ͡°)
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 6171
  • Rating: +191/-9
  • YouTube channel has my solo work and collaboration
    • View Profile
    • My YouTube page!
Re: Axe dissasembler
« Reply #35 on: April 07, 2014, 10:54:15 am »
I understand you, but what if for example just runner112 has the decompiler so you can send him the asm programm(cmdv2) and he gives you the decompiled source(for easier rewrite)?

This has pretty much already been answered in the thread by the man that made Axe himself:
An Axe disassembler is nearly impossible for the following reasons:

-You lose the names of Pointers, Labels, and Variables
-You lose comments and code formatting
-You can't tell if specific data was a string, or number list, or sprite, or picture, etc.
-Each new version of axe changes the routines used so the disassembler would have to be rewritten each version
-Peephole opts make it even more difficult to disassemble.
-Axioms, inline assembly, and other things like that would not translate

It is however, fairly trivial to disassemble it to assembly, and then map native Axe routines and variable locations to the assembly program.  But you would definitely not be able to turn it back into Axe language unless you do it by hand or something.


You should try to read through the thread first to see if your question has already been answered. In this case, it has been.

Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Axe dissasembler
« Reply #36 on: April 07, 2014, 12:34:22 pm »
I understand you, but what if for example just runner112 has the decompiler so you can send him the asm programm(cmdv2) and he gives you the decompiled source(for easier rewrite)?

As others have said, decompiling arbitrary Axe programs is nigh impossible. But I can decompile (probably) any Axe program by hand. Give me a program and a good reason (ex. you lost the source to a project you put a lot of work into but still have a recent compiled version, not that someone else published a closed-source program and you want the source), and if I can allocate the time, I'll do it for you. There may be a few others who can do this as well, although I probably shouldn't be volunteering others.

Offline Digital

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 107
  • Rating: +0/-0
  • 10101
    • View Profile
    • Digital's Hp
Re: Axe dissasembler
« Reply #37 on: April 08, 2014, 07:11:32 am »
You should try to read through the thread first to see if your question has already been answered. In this case, it has been.
 

I have red the thread

@Runner112: nice from you  ;D
« Last Edit: April 08, 2014, 09:12:54 am by TheTI-Freak »
I'm sorry if i might make some mistakes, I'm German so English isn't my first language. Please correct me :)

Offline Digital

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 107
  • Rating: +0/-0
  • 10101
    • View Profile
    • Digital's Hp
Re: Axe dissasembler
« Reply #38 on: April 08, 2014, 07:31:12 am »
@Streetwalrus: Oooops, you are right.
« Last Edit: April 08, 2014, 09:14:26 am by TheTI-Freak »
I'm sorry if i might make some mistakes, I'm German so English isn't my first language. Please correct me :)

Offline Streetwalrus

  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3820
  • Rating: +80/-8
    • View Profile
Re: Axe dissasembler
« Reply #39 on: April 08, 2014, 08:33:24 am »
Please don't double post, you have an Edit button. ;)
send it

Offline DJ Omnimaga

  • Now active at https://codewalr.us
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55816
  • Rating: +3151/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • CodeWalrus
Re: Axe dissasembler
« Reply #40 on: April 08, 2014, 03:31:16 pm »
If I took a Supersonic Ball executable then tried to decompile it back into Axe code using such disassembler, I bet that the resulting Axe source would be far different than the original.
In case you are wondering where I went, I left Omni back in 2015 to form CodeWalrus due to various reasons explained back then, but I stopped calc dev in 2016 and am now mostly active on the CW Discord server at https://discord.gg/cuZcfcF


Bandcamp|Reverbnation|Facebook|Youtube|Twitter