奇!AI(人工智能)能不能反编译二进制代码为高级语言Java或者C?
一直很好奇某些软件的制作过程,使用的算法。因为自己实现的,写的稀烂,虽然功能达到了,但处理速度和处理效率很低下,于是也尝试使用一些反编译软件,如IDA Pro软件。
想看看人家怎么实现,怎么做到效果那么好的。反编译的代码可读性不太好,还是需要掌握汇编,不能直接转换到高级语言。基本也就只能读很小一部分,慢慢也就基本放弃。再加上可以加壳软件,动态加载核心内容,想要读懂人家核心实现还是挺难的。
一直有个疑问?有没有人试着用AI的方式实现一下。偶然看到某篇文章,大语言模型(Large Language Models,简称LLM)反编译二进制代码,觉得很意思。在github上找到关于这个模型反编译的。
反编译旨在将编译后的代码恢复为人类可读的源代码,但现有的反编译工具在还原细节信息(如变量名和结构)方面存在困难。大语言模型 (LLM) 在编程任务上展现出巨大潜力,因此研究者们开始尝试将其应用于反编译。然而,目前还没有开源的专门用于反编译的LLM,现有的反编译评估系统也主要关注token级别的准确性,而忽略了代码可执行性这一重要指标。
不知道这个大语言模型反编译二进制代码,会不会干掉一些岗位,如破解岗位。也会增加一些岗位,如安全岗位。如果真能很好实现,那Oracle软件倒是很值得看看的。
目前在github上看到该项目仍然在进行中,有兴趣可以去看看。
该项目的网站显示信息: