明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 6912|回复: 47

[经验] 减短或加长vlx和fas中的自定义函数名,自定义函数名,增加命令名

  [复制链接]
发表于 2018-11-11 14:54 | 显示全部楼层 |阅读模式
本帖最后由 baitang36 于 2019-3-27 08:38 编辑

有些vlx fas中定义了c:xxxxxx这样的函数,有的名称比较长,用起来不方便,还有的和已有命令重名,有好几个都叫tt,只有最后加载的才能用。
想自己改一下,应该怎样改呢?
vlx和fas文件正常情况下都是加密的,字符串都成了乱码,这是没法改的,首先要把它解码,变成真实的字符串,然后进行修改。
解码工具用fas61.exe,这个程序可以直接解码vlx和fas文件,用法很简单。
修改工具用winhex。如果改后的函数名和改前字数一样,直接改了存盘就行了。如果想改短一点,就需要技巧了。
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
上面是一个解码后的fas文件,可以看出它定义了一个函数 C:TEST1234567,想把它改成c:t
首先找到这个字符串,一般函数名前面的一个字节是5B,这个不能改。看看这字符串后面有几个00,改后也必须跟着几个00,函数名改短后多出来的字节用20来填充。
改后的文件是这样的:
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

如果有多个函数,前面的函数名后面一般会只有一个00,最后一个函数后面是两个00 ,函数名改短后多出来的位置一定要用20填充,一定要放到00 00后面。
如果想把命令名改长,只需要在原来的字符串后面插入几个0,然后把0改成你需要的字符,再把第二段的长度改一下,这里也就是蓝色的159,改成159+你增加的字符数,如你加了6个字节,那就改成165.
当然改短也可以用这种办法,删掉几个字符,把第二段长度(蓝色的部分)相应减少。


点评

自定义函数名,增加命令名这三个字,这样容易被别人检索到  发表于 2018-11-15 15:00

评分

参与人数 3明经币 +2 金钱 +5 收起 理由
LPACMQ + 5 赞一个!
cjh20088 + 1 很给力!
BaoWSE + 1 赞一个!

查看全部评分

"觉得好,就打赏"
还没有人打赏,支持一下
 楼主| 发表于 2018-11-19 20:04 | 显示全部楼层

你觉得不松?那才是真牛
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2018-11-11 19:23 | 显示全部楼层
hao3ren 发表于 2018-11-11 18:39
牛逼,我要试一下

你厉害,有点松吧?
回复 支持 1 反对 0

使用道具 举报

发表于 2018-11-15 12:39 | 显示全部楼层
本帖最后由 crtrccrt 于 2018-11-15 13:11 编辑

http://bbs.mjtd.com/thread-178539-1-1.html

fas中的自定义函数名减短,参见baitang36的实例。
baitang36的实例基础上,加长vlx和fas中的自定义函数名实例:C:TEST1234567,把它改成C:TEST123456789
①在0x72处插入2字节,内容改为0x38、0x39(8、9)。
②将0x41、0x42
处内容改为0x36、0x31(6、1)。即:第二段长度增加2字节,由159增为161。

程序原码  (defun C:TEST1234567 ( / )  (princ "this is a test")  (princ)  )



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 36 31 20 35 20 24 14  01 01 01 00 32 00 32 21   161 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 38 39 00 00 01 01  43 00 00 04 00 0A 32 00   6789    C     2
00000080   32 14 2A 39 01 00 5B 50  52 49 4E 43 00 00 55 01   2 *9  [PRINC  U
00000090   00 0E 00 74 68 69 73 20  69 73 20 61 20 74 65 73      this is a tes
000000A0   74 5C 00 00 43 00 00 03  00 0A 5C 00 00 32 00 5B   t\  C     \  2 [
000000B0   43 3A 54 45 53 54 31 32  33 34 35 36 37 00 00 3A   C:TEST1234567  :
000000C0   01 43 04 00 01 00 1C 14  01 00 00 00 09 03 00 0A    C              
000000D0   57 00 00 00 00 09 04 00  06 02 00 09 02 00 35 01   W             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





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

点评

问题来了,怎么知道的那个地址?先改源程序然后对比找到地址?先射箭后画靶?  发表于 2018-11-20 09:25
你很聪明  发表于 2018-11-15 14:59
发表于 2018-11-11 18:39 来自手机 | 显示全部楼层
牛逼,我要试一下
发表于 2018-11-12 11:45 | 显示全部楼层
谢谢分享,,,谢谢分享,,,
发表于 2018-11-12 11:46 | 显示全部楼层
请问,,fas6.exe在哪下载
发表于 2018-11-12 13:40 | 显示全部楼层
为什么我这打开几个vlx都看不见右侧有 C:命令  ?
 楼主| 发表于 2018-11-12 14:13 | 显示全部楼层
yanshengjiang 发表于 2018-11-12 13:40
为什么我这打开几个vlx都看不见右侧有 C:命令  ?

发给我帮你看看?5520971@qq.com
 楼主| 发表于 2018-11-12 14:15 | 显示全部楼层
本帖最后由 baitang36 于 2019-3-27 08:40 编辑
侑嚸俊 发表于 2018-11-12 11:46
请问,,fas61.exe在哪下载

http://bbs.mjtd.com/plugin.php?i ... wMjUyMHwxNzg1Mzg%3D
发表于 2018-11-12 14:39 | 显示全部楼层
baitang36 发表于 2018-11-12 14:13
发给我帮你看看?

算了 谢谢 我也是搞了耍的 等你vlx2lsp成功 我再请教
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-4-20 23:30 , Processed in 0.633128 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表