奇!AI(人工智能)能不能反编译二进制代码为高级语言Java或者C?

createh52个月前 (02-01)技术教程9

一直很好奇某些软件的制作过程,使用的算法。因为自己实现的,写的稀烂,虽然功能达到了,但处理速度和处理效率很低下,于是也尝试使用一些反编译软件,如IDA Pro软件。

想看看人家怎么实现,怎么做到效果那么好的。反编译的代码可读性不太好,还是需要掌握汇编,不能直接转换到高级语言。基本也就只能读很小一部分,慢慢也就基本放弃。再加上可以加壳软件,动态加载核心内容,想要读懂人家核心实现还是挺难的。

一直有个疑问?有没有人试着用AI的方式实现一下。偶然看到某篇文章,大语言模型(Large Language Models,简称LLM)反编译二进制代码,觉得很意思。在github上找到关于这个模型反编译的。

反编译旨在将编译后的代码恢复为人类可读的源代码,但现有的反编译工具在还原细节信息(如变量名和结构)方面存在困难。大语言模型 (LLM) 在编程任务上展现出巨大潜力,因此研究者们开始尝试将其应用于反编译。然而,目前还没有开源的专门用于反编译的LLM,现有的反编译评估系统也主要关注token级别的准确性,而忽略了代码可执行性这一重要指标。

不知道这个大语言模型反编译二进制代码,会不会干掉一些岗位,如破解岗位。也会增加一些岗位,如安全岗位。如果真能很好实现,那Oracle软件倒是很值得看看的。

目前在github上看到该项目仍然在进行中,有兴趣可以去看看。

该项目的网站显示信息:



相关文章

防止jar被反编译——最简单的方法

有的时候,给别人提供的jar,有些核心的密匙不想被人通过反编译工具查看,那么要怎样才能做到呢?既要能正常调用,又不想别人反编译jar查看源码网上有很多方法,有使用第三方工具的、使用maven插件的,这...

一文springboot项目加密防止反编译

前言:当公司开发的项目需要部署到其他公司的服务器上,为了防止源码泄露。我们可以对项目进行加密,以防止反编译。通过使用加密技术,可以保护源代码的安全性,防止恶意攻击者获取敏感信息和业务逻辑。一:加密方式...

分享一个比较好用的反编译的工具(反编译工具有什么用)

安卓相关的工作有时候会需要用到反编译,不管是开发工程师去参考别人的源码,还是测试工程师进行安全测试。这里分享一个比较好用的反编译工具——jadx一般找反编译的教学帖子,都是叫我们去使用反编译三件套,但...

Kotlin与Java的不同之处(java和kotlin能混用吗)

伴生对象在 Kotlin 中并不没有 static 这个关键字,该如何处理呢?这里需要用到 Kotlin 的伴生对象来处理。类内部的对象声明可以用 companion 关键字标记:该伴生对象的成员可通...