TheSwamp
Code Red => AutoLISP (Vanilla / Visual) => Topic started by: baitang36 on January 22, 2019, 03:40:36 AM
-
This is my first post.
Some functions such as c: XXXXXX are defined in vlx fas. Some of them have long names and are inconvenient to use. Others have renames with existing commands. Several of them are called tt. Only the last load can be used.
If you want to change it by yourself, how should you change it?
Vlx and Fas files are normally encrypted, strings are scrambled, which can not be changed. First, decode them into real strings, and then modify them.
The decoding tool uses fas61.exe, which can decode vlx and Fas files directly. The usage is simple.
Winhex is used to modify the tool. If the changed function name is the same as the number of words before it, just change the inventory directly. If you want to shorten it, you need skills.
Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F
00000000 0D 0A 20 46 41 53 34 2D 46 49 4C 45 20 3B 20 44 FAS4-FILE ; D
00000010 6F 20 6E 6F 74 20 63 68 61 6E 67 65 20 69 74 21 o not change it!
00000020 0D 0A 32 30 0D 0A 33 20 24 14 00 00 00 00 09 02 20 3 $
00000030 00 35 01 01 00 03 0A 35 00 01 00 03 16 24 0D 0A 5 5 $
00000040 31 35 39 20 35 20 24 14 01 01 01 00 32 00 32 21 159 5 $ 2 2!
00000050 2A 39 01 00 56 76 6C 2D 41 43 41 44 2D 64 65 66 *9 Vvl-ACAD-def
00000060 75 6E 00 00 5B 43 3A 54 45 53 54 31 32 33 34 35 un [C:TEST12345
00000070 36 37 00 00 01 01 43 00 00 04 00 0A 32 00 32 14 67 C 2 2
00000080 2A 39 01 00 5B 50 52 49 4E 43 00 00 55 01 00 0E *9 [PRINC U
00000090 00 74 68 69 73 20 69 73 20 61 20 74 65 73 74 5C this is a test\
000000A0 00 00 43 00 00 03 00 0A 5C 00 00 32 00 5B 43 3A C \ 2 [C:
000000B0 54 45 53 54 31 32 33 34 35 36 37 00 00 3A 01 43 TEST1234567 : C
000000C0 04 00 01 00 1C 14 01 00 00 00 09 03 00 0A 57 00 W
000000D0 00 00 00 09 04 00 06 02 00 09 02 00 35 01 01 00 5
000000E0 01 0A 09 02 00 16 16 00 32 A4 94 1D F0 44 0A 3B 2 餌 ;
000000F0 66 61 73 34 20 63 72 75 6E 63 68 0A 3B 24 3B 41 fas4 crunch ;$;A
00000100 31 31 2F 31 31 2F 31 38 11/11/18
Above is a decoded Fas file. You can see that it defines a function C: TEST1234567 and wants to change it to c:t.
First, find the string. The byte in front of the normal function name is 5B, which can't be changed. Look at the number of 00 after the string, after the change must follow a few 00, function name after the shortening of the extra bytes with 20 to fill.
The revised document is as follows:
Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F
00000000 0D 0A 20 46 41 53 34 2D 46 49 4C 45 20 3B 20 44 FAS4-FILE ; D
00000010 6F 20 6E 6F 74 20 63 68 61 6E 67 65 20 69 74 21 o not change it!
00000020 0D 0A 32 30 0D 0A 33 20 24 14 00 00 00 00 09 02 20 3 $
00000030 00 35 01 01 00 03 0A 35 00 01 00 03 16 24 0D 0A 5 5 $
00000040 31 35 39 20 35 20 24 14 01 01 01 00 32 00 32 21 159 5 $ 2 2!
00000050 2A 39 01 00 56 76 6C 2D 41 43 41 44 2D 64 65 66 *9 Vvl-ACAD-def
00000060 75 6E 00 00 5B 43 3A 54 00 00 20 20 20 20 20 20 un [C:T
00000070 20 20 20 20 01 01 43 00 00 04 00 0A 32 00 32 14 C 2 2
00000080 2A 39 01 00 5B 50 52 49 4E 43 00 00 55 01 00 0E *9 [PRINC U
00000090 00 74 68 69 73 20 69 73 20 61 20 74 65 73 74 5C this is a test\
000000A0 00 00 43 00 00 03 00 0A 5C 00 00 32 00 5B 43 3A C \ 2 [C:
000000B0 54 45 53 54 31 32 33 34 35 36 37 00 00 3A 01 43 TEST1234567 : C
000000C0 04 00 01 00 1C 14 01 00 00 00 09 03 00 0A 57 00 W
000000D0 00 00 00 09 04 00 06 02 00 09 02 00 35 01 01 00 5
000000E0 01 0A 09 02 00 16 16 00 32 A4 94 1D F0 44 0A 3B 2 餌 ;
000000F0 66 61 73 34 20 63 72 75 6E 63 68 0A 3B 24 3B 41 fas4 crunch ;$;A
00000100 31 31 2F 31 31 2F 31 38 11/11/18
If there are more than one function, there will be only one 00 after the first function name, and two 00 after the last function. When the function name is shortened, the extra position must be filled with 20, and must be placed after 00.
If you want to lengthen the command name, just insert a few zeros after the original string, then change 0 to the character you need, and then change the length of the second paragraph, which is 159, to 159 + the number of characters you added, if you add six bytes, then change to 165.
-
No need to try and modify the compiled files. Just define a shorter command calling your vlx\fas like so:
(defun c:t nil (c:test12345))
-
Some of them have long names and are inconvenient to use. Others have renames with existing commands. Several of them are called tt.
In 30+ years of LISP programming these issues have never come up. Smacks more of thinly veiled means to flog a fas decompiler. Given that it’s a tool to break a lock of sorts there’s no way I would trust it or the author of 1 post.
-
^^ what he said.
and I wouldn't trust an author who distributes compiled files with function names like C:TT.
Proficient function naming is usually a reasonable indicator of someone who at least thinks about ramifications.