Page 26 of 28

Re: Knoware.no

Posted: Wed Feb 19, 2025 3:25 pm
by RalfR
I tried it with my BOOT. Of course it stops at line 480. What should have come out of it?

Original:
bt_02.jpg
Changed with the program:
bt_01.jpg

Re: Knoware.no

Posted: Wed Feb 19, 2025 3:46 pm
by pjw
RalfR wrote: Wed Feb 19, 2025 3:25 pm I tried it with my BOOT. Of course it stops at line 480. What should have come out of it?

Original:
bt_02.jpg

Changed with the program:
bt_01.jpg
This is because you do something I never do: Use unquoted file names!

EW now thinks that V34 is a file name which, of course it isnt. I havent catered for this kind of thing. It should be simple enough to fix it manually. All of your LRESPRes are going to go the same way!

This is not something I intend to "fix". As I write in the "manual", Obfuscate is a working POC. It is designed for you to play with.

Using unquoted file names is wasteful in compiled programs, because it means that the Name table has to be included in the compiled program. In boot programs I guess it doesnt matter much.

What bothers me more is that the hex on line 480 is supposed to be converted to a normal float. I'll have to look into that when I next have time.

Thanks for trying it out and reporting back! We all have to be beta testers these days..

Re: Knoware.no

Posted: Wed Feb 19, 2025 3:56 pm
by pjw
I uploaded a new version (still V0.01) to fix the hex issue.

Any returning visitors to Knoware.no should refresh their browsers due to the change of venue!

Re: Knoware.no

Posted: Wed Feb 19, 2025 4:33 pm
by RalfR
OK, I've put the names in quotes, but I don't really see the point (at the moment ;) ). Is it primarily about encoding the variable names and to delete the REMarks?

bt_03.jpg

Re: Knoware.no

Posted: Wed Feb 19, 2025 4:51 pm
by tofro
RalfR wrote: Wed Feb 19, 2025 4:33 pm OK, I've put the names in quotes, but I don't really see the point (at the moment ;) ). Is it primarily about encoding the variable names and to delete the REMarks?
Well, there's not much point in obfuscating a BOOT program as they tend to be relatively straightforward and linear (or is there a point in obfuscating any QL program at all these days?). But once you have a more substantial program with loops, procedures and functions, you can turn it into illegible gibberish that no-one can decode. It's a way to protect your programs.

Re: Knoware.no

Posted: Wed Feb 19, 2025 4:54 pm
by pjw
RalfR wrote: Wed Feb 19, 2025 4:33 pm OK, I've put the names in quotes, but I don't really see the point (at the moment ;) ). Is it primarily about encoding the variable names?

bt_03.jpg
Well, that wasnt an ideal program to try it on ;)

Youve seen the Q_Liberator sources. Imagine if there had been sensible variable names, remarks and a proper, indented, program structure. Wed have a much better chance of figuring out how the program worked. Right? Well, Obfuscater tries to do the opposite, to throw sand in the eyes of anyone trying to understand our program.

As mentioned, one could do more. For example any ad hoc toolkit commands could be given obscure names. The basic language itself can, of course not be obscured if you still want a working program.

Compiling a program these days is not as sure a way of hiding ones IP (or shame) as it used to be, as it can "easily" be decompiled. But the decompiled result can still be hard to understand in a complex program. So that is another way to obfuscate: Compile your program and then decompile it again!

PS: No criticism was intended, Ralf. Billions of QLers all over the galaxy dont quote their file names! Its perfectly ok and "legal". However, I think the option was offered as a concession. After all there werent as many typists among us then as there are today, and anything to shave off a few repetitive keystrokes was seen as a Very Good Thing.

I my case, the confusion between what was a "name" and a "string" cost me a few hours of extreme frustration that first day when I brought home my new QL! I guess the experience has left its mark 'til this day.

Luckily ALTKEY and later HOT_KEY solved the typing problem for me, as Ive mentioned elsewhere on the forum.

Re: Knoware.no

Posted: Wed Feb 19, 2025 5:01 pm
by RalfR
pjw wrote: Wed Feb 19, 2025 4:54 pmFor example any ad hoc toolkit commands could be given obscure names.
That's what I did in my editor. My extensions are just called "EXTx". At first, no one knows what to do with that ;) .

Well, no one would be able to do anything with a procedure like this (if it were more extensive). At least not immediately.

Re: Knoware.no

Posted: Wed Feb 19, 2025 5:03 pm
by pjw
You said it all, tofro, and in a fraction of the space I took to say more of less the same ;)

Re: Knoware.no

Posted: Wed Feb 19, 2025 5:07 pm
by RalfR
If you had described in more detail in your text what the program actually does, it would have been clear from the start.

Re: Knoware.no

Posted: Wed Feb 19, 2025 5:08 pm
by pjw
RalfR wrote: Wed Feb 19, 2025 5:01 pm
pjw wrote: Wed Feb 19, 2025 4:54 pmFor example any ad hoc toolkit commands could be given obscure names.
That's what I did in my editor. My extensions are just called "EXTx". At first, no one knows what to do with that ;) .

Well, no one would be able to do anything with a procedure like this (if it were more extensive). At least not immediately.
Precisely ;) But clearly beyond the scope of my program. One has to leave something for others to do, otherwise wheres the fun in that ;)