字符串混淆优化
这个函数代码在中望CAD里面运行较慢,需要10秒时间,谁能帮忙优化优化。(defun appcodeConfused(str / code lennum n strlst)
(setq strlst (vl-string->list str) lennum (length strlst) n 0 code "")
(foreach x strlst
(setq code
(strcat code
(cond
((< n 1 lennum) (strcat (itoa (nth n strlst)) (itoa (ascii "F"))))
((< n 2 lennum) (strcat (itoa (nth n strlst)) (itoa (ascii "F"))))
((< n 3 lennum) (strcat (itoa (nth n strlst)) (itoa (ascii "F"))))
((< n 4 lennum) (strcat (itoa (nth n strlst)) (itoa (ascii "F"))))
((< n 5 lennum) (strcat (itoa (nth n strlst)) (itoa (ascii "F"))))
((< n 6 lennum) (strcat (itoa (nth n strlst)) (itoa (ascii "F"))))
((< n 7 lennum) (strcat (itoa (nth n strlst)) (itoa (ascii "F"))))
((< n 8 lennum) (strcat (itoa (nth n strlst)) (itoa (ascii "F"))))
((< n 9 lennum) (strcat (itoa (nth n strlst)) (itoa (ascii "F"))))
((< n 10 lennum) (strcat (itoa (nth n strlst)) (itoa (ascii "F"))))
((< n 11 lennum) (strcat (itoa (nth n strlst)) (itoa (ascii "F"))))
((< n 12 lennum) (strcat (itoa (nth n strlst)) (itoa (ascii "F"))))
((< n 12 lennum) (strcat (itoa (nth n strlst)) (itoa (ascii "F"))))
((< n 14 lennum) (strcat (itoa (nth n strlst)) (itoa (ascii "F"))))
((< n 15 lennum) (strcat (itoa (nth n strlst)) (itoa (ascii "F"))))
((< n 16 lennum) (strcat (itoa (nth n strlst)) (itoa (ascii "F"))))
(T (strcat (itoa (nth n strlst)) (itoa (ascii "F"))))
)
)
)
(setq n (1+ n))
)
code
)
(defun appcodeConfused (str / x)
(apply 'strcat
(mapcar '(lambda (x)
(strcat (itoa x) "70")
)
(vl-string->list str)
)
)
) lijiao 发表于 2022-8-2 17:03
里面的“F”只是举例,实际上每个字都是不一样的 本帖最后由 baitang36 于 2022-8-5 09:53 编辑
试一下这个,看看速度能提高多少?没有改变你的算法,只是把F替换成当前时间的秒数
(defun hxcode(str / code strl n miao)
(setq miao (menucmd "M=$(edtime,$(getvar,date),SS)"))
(setq strl (strlen str))
(setq code "")
(setq n 1)
(repeat strl
(setq code (strcat code (itoa (ascii (substr str n 1))) miao))
(setq n (+ n 1))
)
code
) baitang36 发表于 2022-8-5 09:51
试一下这个,看看速度能提高多少?没有改变你的算法,只是把F替换成当前时间的秒数
(defun hxcode(str / c ...
和上面那位仁兄的结果一样,都是还有8秒的延迟,估计还有别的函数影响。你这个随机的每次生成都不一样,每次都得算一次才能用,不太合适呢。 baitang36 发表于 2022-8-5 09:51
试一下这个,看看速度能提高多少?没有改变你的算法,只是把F替换成当前时间的秒数
(defun hxcode(str / c ...
能改一下LEE MAC的那个MD5提速嘛
烟盒迷唇 发表于 2022-8-5 10:34
能改一下LEE MAC的那个MD5提速嘛
MD5最好用个dll来实现,lsp的太慢 baitang36 发表于 2022-8-5 10:48
MD5最好用个dll来实现,lsp的太慢
.NET的不会呀 这种混淆不可能快,建议你用vl-string-translate简单变换一下
这个混淆器影响不了太大,主要是MD5的影响!
页:
[1]
2