shxm112233 发表于 2016-3-29 11:28:33

算法求可逆

本帖最后由 shxm112233 于 2016-4-2 11:13 编辑

(DEFUN KEY (code / K)
(setq CODE (VL-STRING-TRANSLATE "-" " " CODE))
(setq CODE (READ (STRCAT "(" CODE ")")))
(setq K (+ 13 (car CODE)))
(setq CODE (MAPCAR '(lambda (A B) (BOOLE 6 A B))
(cons K (cdr CODE))
(cdr CODE)
)
)
(setq CODE (VL-LIST->STRING (REVERSE CODE)))
(LIST (ATOI (SUBSTR CODE 1 8)) (SUBSTR CODE 9))
)

陨落 发表于 2016-3-29 15:05:55

BOOLE函数可逆么?

自贡黄明儒 发表于 2016-3-29 16:04:18

本帖最后由 自贡黄明儒 于 2016-3-29 16:11 编辑

有难度!!!关键是
BOOLE

highflybird 发表于 2016-3-29 16:37:14

本帖最后由 highflybird 于 2016-3-29 16:40 编辑

从 这句来看,(boole 6A B)实际是求A B两个数的异或,
假设   (boole 6 A B)= C ;
那么逆运算为:
    (boole 6 C A) = B; 或者(boole 6 C B)=A;

shxm112233 发表于 2016-3-29 17:25:52

highflybird 发表于 2016-3-29 16:37 static/image/common/back.gif
从 这句来看,(boole 6A B)实际是求A B两个数的异或,
假设   (boole 6 A B)= C ;
那么逆运算为:


感谢版主回答!!我调试下,还是没思路,我还是没有思路!能帮忙修改下吗??

tryhi 发表于 2016-3-30 10:19:15

本帖最后由 tryhi 于 2016-3-30 13:00 编辑

楼主目的不明,好像是在反编译别人的程序
楼主最后说回答好有好的代码送给我,那应该就是在反编译破解别人程序注册机制了
楼主前天发了一天帖子,问题解决了就立马删掉帖子内容,可见人很一般,估计本贴的问题解决了,逆算法出来了,楼主也会删帖,所以不想作评论

love1030312 发表于 2016-3-30 10:58:10

即使精品代码也需要对专业才有用处吧   反之   废品一堆

tryhi 发表于 2016-3-30 11:25:52

算了,简单回复两句,后面来的人也许看了有用,这段加密写采用与自身进行差位异或加密,非常取巧,即使知道算法也难以反算,可惜存在一个突破口,只要知道自身任意位置的一个值,就可以完整反算

陨落 发表于 2016-3-30 12:20:29

highflybird 发表于 2016-3-29 16:37 static/image/common/back.gif
从 这句来看,(boole 6A B)实际是求A B两个数的异或,
假设   (boole 6 A B)= C ;
那么逆运算为:


还是老大厉害!

tryhi 发表于 2016-3-30 12:36:16

本帖最后由 tryhi 于 2016-3-30 18:27 编辑

陨落 发表于 2016-3-30 12:20
还是老大厉害!
但是没什么用,因为AB都是本身,所以只知道C是求不出AB的,老大只是用通俗的语言解释了一下什么叫异或


楼主要的反算结果是(key "67-21-81-18-80-17-33-24-32-23-33-20-32-19-33-16-34-19-33-16-38-23-39-21")



页: [1] 2
查看完整版本: 算法求可逆