热度 2| ||
解决办法
主要涉及encrypt和compress命令(针对.ile文件)
encrypt
不带密码加密
语法:encrypt("a.il" "b.ile");
输出到你的skill目录下的b.ile文件就是加密后的文件,这时候打开b.ile文件会发现是乱码了。虽然我们看是乱码,但是allegro可以识别
load("b.ile"), 让allegro加载b.ile文件,其实和加载没有加密的文件一样
带密码的加密
语法:encrypt("a.il" "b.ile" "passwd");
输出到你的skill目录下的b.ile文件就是加密后的文件,这时候打开b.ile文件会发现是乱码了。
load("b.ile" "passwd"), 让allegro加载b.ile文件,如果没有密码allegro没办法加载该文件
compress
压缩功能
如果skill文件过大我们需要压缩一下运行,这样也优化了程序,使程序执行起来更快捷一点,这样我们就需要compress指令来完成
语法:compress("a.il" "b.il");在CIW窗口中运行compress命令
;压缩a文件输出b文件到你的工作目录下。
这样你打开你的b文件发现空格操作符之类的东西,还有注释全没有了。真正达到了压缩的功能了。
解密功能
没有加密码的encrypt文件我们可以通过compress来解密。但是解出来的文件可读性不是很强,因为很多操作符没了,换行也没了,读起来比较困难。
加了密码的文件,目前还不知道怎么可以进行解密。
如何让解密文件更有可读性
这段代码可以解开没加密的文件,而且可读性非常好,比你开始写的都好。
这是在以国外站上找到的,老外写的,运行格式如下NlDecrypt("a.il" "b.il")
Load 下面程序到CIW窗口后,在CIW窗口中运行NlDecrypt("a.il" "b.il")。
procedure( NlDecrypt( inputFile @optional outputFile "tt")
prog( (inp out line)
if( inputFile then
unless( outputFile
outputFile = sprintf(nil "%s.dec" inputFile)
)
when( isFile( outputFile )
print( "You must specify a file that doesn't exist!!!\n" )
hiGetAttention( )
return()
)
unless( inp = infile(inputFile)
printf("Unable to open input file: %s\n" inputFile)
return()
)
unless( out = outfile(outputFile "w")
printf("Unable to open output file: %s\n" outputFile)
return()
)
while( line = lineread(inp)
when( line != t
pprint(line out)
)
)
close(inp)
close(out)
else
printf("You must at least specify an input file!\n")
return()
) ;end if inputFile
return(t)
) ;end prog
) ;end procedure
/2