代码混淆,“风语者”风格

发布于 2024-12-09 06:56:42 字数 338 浏览 0 评论 0原文

早在第二次世界大战(显然还有第一次世界大战)时,交战双方使用的加密方案不断被破解。然后,一些理解语言的天才意识到,用深奥的自然语言发送消息比任何密码都更好,因为语言之间在语法方面存在巨大差异——例如纳瓦霍语与日语。基于纳瓦霍语的代码未被破解。标题是电影参考。

所以你可以看到这是怎么回事。什么是一种好的语言,具有可用的本机编译器,很少有人知道但功能强大到足以编写密钥身份验证模块?我想到了 Cobol,但找不到本地编译器,我的意思是直接编译成机器语言的编译器,而不是首先翻译成 C 或其他标准语言,然后编译 C。

我意识到在汇编级别可能都是一样的,但我仍然认为能够编写不可读的高级代码在某些情况下可能会有所帮助。

Back in World War II (and WWI apparently), encryption schemes used by the warring parties kept getting cracked. Then some genius who understood language realized that sending messages in an esoteric natural language would be better than any cipher, due to the enormous differences that languages can bear to one another in terms of syntax--e.g. Navajo vs. Japanese. Codes based on Navajo went uncracked. The title is a movie reference.

So you can see where this is going. What's a good language, with an available native compiler, that few people know yet is powerful enough in which to write, say, a key authentication module? I thought of Cobol but couldn't find a native compiler, by which I mean a compiler that compiles directly into machine language and not by first translating into C or some other standard language and then compiling the C.

I realize that at the assembly level it's probably all the same, but I still think being able to write unreadable high-level code might help in some situations.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

時窥 2024-12-16 06:56:42

嗯,我认为你在某种程度上回答了你自己的问题。

我意识到在汇编级别可能都是相同的 [...]

用不同语言编写的相同算法将同样难以破解。因为它的算法相同。除非该语言的标准库存在某些特定的漏洞,或者编译器在编译程序时可能会出错。就带有编译器的深奥语言而言,brainfuck 是我能立即想到的唯一一种语言。 http://home.arcor.de/partusch/html_en/bfd.html

Well, I think you answered your own question in a way.

I realize that at the assembly level it's probably all the same [...]

The same algorithm programmed in different languages will be equally difficult to crack. Because its the same algorithm. Unless there is some particular vulnerability in the language's standard libraries or maybe the compiler makes a mistake when compiling the program. As far as esoteric languages with compilers, brainfuck is the only one I can think of off the top of my head. http://home.arcor.de/partusch/html_en/bfd.html

故事未完 2024-12-16 06:56:42

我将接受 @birrryree 对 Prolog 的建议,至少在进一步调查之前。它有一个本机编译器并得到积极维护,但仅由一个小型学术界进行维护。因此,“普通”程序员知道这一点的可能性相对较小。但相对于它的力量来说,它的不那么晦涩的权衡可能是可以的。

I'm going to go with @birryree's suggestion of Prolog, at least pending further investigation. It has a native compiler and is actively maintained, but only by a small academic community. So the likelihood of an 'average joe' programmer knowing it is relatively small. But the tradeoff of it being somewhat less obscure, for its power, is probably ok.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文